home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / hexbus_cc40_ti74 / cc40 ti74 hexbus.txt < prev    next >
Text File  |  2006-10-19  |  401KB  |  8,279 lines

  1.  
  2. ============================================================================
  3.  
  4.  
  5.                  A Compendium of CC-40 Information
  6.  
  7.                          Compiled By: Dan Eicher 
  8.  
  9.                          (Eicher@Delphi.Com)
  10.  
  11.                           L.D.O.M. 12.01.96
  12.  
  13.      Compendium Copyright 1996 - All articles owned exclusively by their 
  14.      authors. No part of this document is to be modified and re-distributed
  15.      with out written permission from me. 
  16.  
  17.      If you have addition that you would be willing to include please email
  18.  it to me at the above address. Corrections to the material will also be 
  19.  included. General comments like - "I would do XXXX this way.", "Could you
  20.  add..." ect.... Should be sent to NoOneCares@null.com. If you don't like
  21.  it, don't use it.
  22.  
  23.      I would like to extend a big thanks to Charlie Good (CGood@Bright.Net)
  24.  for the incredible amount of information he supplied. Without Charlie the 
  25.  TI community would be a much poorer place. 
  26.  
  27.      If you have problems viewing this file, please tell me as close as 
  28.  possible the exact line. I had to do a large amount of hexediting on the
  29.  file - these file came from a variety of different computer platforms  
  30.  who each have their own quirks in text handling. I will endeavour to fix
  31.  all such problems that are report. 
  32.  
  33.      In order to help you find the article that you are looking for as 
  34.  quickly as possible I have put a unique string at the begining of each 
  35.  article. C4ICSXXX - Where XXX is a 3 digit number. I figured that this 
  36.  string would not normally show up in articles. It stands for Cc-40 
  37.  Information Compendium Section XXX. 
  38.  
  39.  
  40. Articles:
  41.  
  42. A series of hardware projects.
  43. by Edward A. Hallett...............................................C4ICS001
  44.  
  45. The HexBus Interface Manual.
  46. ReTyped by Charlie Good............................................C4ICS002
  47.  
  48. Using TI-74 Devices with the CC-40.
  49. by Maurice Swinnen.................................................C4ICS003
  50.  
  51. Tutorial on DockBus and HexBus Interfacing.
  52. by B. V. Tachkach..................................................C4ICS004
  53.  
  54. EMAIL from TI to Charlie good on Parts and Prices.
  55. by T.I.............................................................C4ICS005
  56.  
  57. Importing Text into TI-Writer from the CC-40.
  58. by Charlie Good....................................................C4ICS006
  59.  
  60. Upgrading a CC-40 from 8K to 16K.
  61. by.. Author Unknown................................................C4ICS007
  62.  
  63. Review of the Advanced Electrical Engineering Library Software.
  64. by Charlie Good....................................................C4ICS008
  65.  
  66. CC-40 Documentation available to Lima User Group Members.
  67. by Charlie Good....................................................C4ICS009
  68.  
  69. Never Release TI Peripherals.
  70. by Charlie Good....................................................C4ICS010
  71.  
  72. NEW HexBus Peripherals for the CC-40.
  73. by Charlie Good....................................................C4ICS011
  74.  
  75. HexBus/DockBus Peripheral Device Numbers.
  76. by Charlie Good....................................................C4ICS012
  77.  
  78. The HexBus Connection.
  79. by Dan Eicher......................................................C4ICS013
  80.  
  81. A FATAL bug in TI's Memo Processor Cartridge.
  82. by Charlie Good....................................................C4ICS014
  83.  
  84. Word Processing with the CC-40 Memo Processing Cartridge.
  85. by Charlie Good....................................................C4ICS015
  86.  
  87. A Review of the CC-40 Computer System.
  88. by Charlie Good....................................................C4ICS016
  89.  
  90. A Review of the HexBus Modem.
  91. by Charlie Good....................................................C4ICS017
  92.  
  93. Using the CC-40 as a Personal Information Manager.
  94. by Charlie Good....................................................C4ICS018
  95.  
  96. When is a CC-40, not a CC-40?.
  97. by Mike Wright.....................................................C4ICS019
  98.  
  99. The other TI computer Orphan.
  100. by Gary Fitzgerald.................................................C4ICS020
  101.  
  102. TI's PC Interface for the TI CC-40 and TI-74.
  103. by Charlie Good....................................................C4ICS021
  104.  
  105. Using TI's PC-Interface as alternate Mass Storage for the CC-40.
  106. by Harry Nilsson...................................................C4ICS022
  107.  
  108. A day at the track with the CC-40.
  109. by Charlie Good....................................................C4ICS023
  110.  
  111. Phone Number Translator for the CC-40 and TI-74.
  112. by Charlie Good....................................................C4ICS024
  113.  
  114. A Review of the TI HexBus Printer/Plotter.
  115. by Charlie Good....................................................C4ICS025
  116.  
  117. A Review of TI's HexBus 'Printer 80'.
  118. by Charlie Good....................................................C4ICS026
  119.  
  120. A Review of Mechatronic's "Quick Disk Drive" for the CC-40 & 74.
  121. by Charlie Good....................................................C4ICS027
  122.  
  123. Using the TI-74 Quick disk on the CC-40.
  124. by Jim McCulloch...................................................C4ICS028
  125.  
  126. An Educators sorting program for the CC-40.
  127. by Charlie Good....................................................C4ICS029
  128.  
  129. TI's supplementary handouts for the TI-99/4A and CC-40.
  130. by Charlie Good....................................................C4ICS030
  131.  
  132. TI's CC-40 and Peripherals: Alive and Well.
  133. by Charlie Good....................................................C4ICS031
  134.  
  135. An Improved Basic Word Processor.
  136. by Charlie Good and Palmer Hanson JR...............................C4ICS032
  137.  
  138. TI's 74 BasicCalc: A Modern version of the CC-40.
  139. by Charlie Good....................................................C4ICS033
  140.  
  141. Review of TI's never released Wafer Tape Drive.
  142. by Charlie Good....................................................C4ICS034
  143.  
  144. A Compendium of CC-40 Programs.
  145. Contributed by Charlie Good........................................C4ICS035
  146.  
  147.  
  148. =============================================================================
  149. C4ICS001
  150.  
  151.           TI CC-40 project: Written by Edward A. Hallett, May 1990. 
  152.  
  153.           I had recently purchased a TI CC-40 computer and did not have any
  154.     schematics for it. I wanted to make the CC-40 more usable by expanding
  155.     its memory and by building an interface for it to connect a printer. By
  156.     using a logic analyzer I was able to determine the pinout and signal
  157.     functions of the CC-40 cartridge port and Hex-Bus port. I have expanded
  158.     the memory from 6K to 50K and have built a simple printer interface. 
  159.  
  160.     I have uploaded a file containing extracts from a series of lab reports
  161.     about the TI CC-40 computer that I did for my Microcomputer Systems class
  162.     (ELT 270) this semester.  Included are the schematics that I drew and
  163.     details for expanding the memory from 6K to 18K, building a 32K ram
  164.     cartridge, and building a printer interface. Also included is information
  165.     about how the CC-40 operates, signal timing diagrams, a block diagram of
  166.     the system, and information about internal and port signals.   
  167.  
  168.     I hope that other CC-40 owners find the info in the file I uploaded
  169.     usefull.  
  170.                                          Thanks, 
  171.                                          Edward A. Hallett 
  172. ===========================================================================
  173.  
  174.     CC-40 PROJECT REPORT # 1 
  175.  
  176.     Manuals used: TMS7000 Family Data Manual, HM6116LP-3 Data Sheet,
  177.     HM61256PC09 Data Sheet, CC-40 Users Guide. 
  178.  
  179.     Key Features: 
  180.  
  181.        TMS70C20 Microprocessor:
  182.          2K on chip ROM
  183.          128 Byte on chip RAM for use as registers
  184.          64K address space
  185.          256 Bytes for memory mapped ports
  186.          8 bit instruction word
  187.          4 interrupt levels
  188.          32 I/O pins: 16 biderectional, 8 output, 8 input 
  189.  
  190.         HM6116LP-3 Static Ram:
  191.          2K X 8 bit RAM memory
  192.          24 pin 
  193.  
  194.        HN61256PC09 ROM: 
  195.          32K X 8 bit ROM memory
  196.          28 pin 
  197.  
  198.        CC-40:
  199.          2.5MHz clock
  200.          6K RAM
  201.          34K ROM
  202.          Basic interpreter
  203.          Assembly DEBUG program
  204.  
  205. =========================================================================    
  206.     TMS70C20 Microprocessor architecture: 
  207.           The TMS70C20 can be configured to address 1 of 3 different memory
  208.           maps and 1 of 3 configurations of its 32 I/O pins by applying the
  209.           proper logic level to the MODE CNTL pin and secondarily to bits 6
  210.           and 7 of the I/O control register. The CC-40 uses the Full
  211.  
  212.           Expansion Mode of the TMS70C20 by applying a logic 0 to the MODE
  213.           CNTL pin and writing a 0 to bit 6 and a 1 to bit 7 of the I/O
  214.           control register. 
  215.  
  216.           The Full Expansion Mode of the TMS70C20 microprocessor configures
  217.           the memory map to address the full 64K limit and configures the 4
  218.           8-bit parallel ports, A, B, C, and D as follows: 
  219.  
  220.           Port A: 8 bit parallel input port. 
  221.  
  222.           Port B: B0-B3 4 bit parallel output port.
  223.                  B4 (ALATCH) logic 1 while port C asserts amemory address.
  224.                  B5 (R/W) logic 1 for read cycle, logic 0 for write cycle.
  225.                  B6 (ENABLE) logic 0 for external memory cycle.
  226.                  B7 (CLOCKOUT) output clock for memory control timing. 
  227.  
  228.           Port C: Multiplexed address/data port for the memory bus.
  229.                  Least significant byte (8-bits) of the 16-bit address.   
  230.  
  231.           Port D: Most significant byte (8-bits) of the 16-bit address. 
  232.  
  233. ============================================================================
  234.  
  235.     TMS70C20 MICROPROCESSOR PINNOUT (IN FULL EXPANSION MODE): 
  236.                      _
  237.          1 R/W                   GND 40
  238.  
  239.                  2 CLKOUT                       ENABLE 39  
  240.  
  241.                  3 BOUT0                        ALATCH 38  
  242.  
  243.                  4 BOUT1                         BOUT3 37  
  244.  
  245.                  5 BOUT2                          MODE 36  
  246.  
  247.                  6 AIN0                          D7/A7 35  
  248.  
  249.                  7 AIN1                          D6/A6 34  
  250.  
  251.                  8 AIN2                          D5/A5 33  
  252.  
  253.                  9 AIN3                          D4/A4 32  
  254.  
  255.                 10 AIN4                          D3/A3 31  
  256.  
  257.                 11 AIN7                          D2/A2 30 
  258.            ____
  259.         12 INT3              D1/A1 29
  260.            ____
  261.         13 INT1              D0/A0 28
  262.            _____
  263.         14 RESET                A8 27
  264.  
  265.                 15 AIN6                             A9 26  
  266.  
  267.                 16 AIN5                            VCC 25  
  268.  
  269.                 17 CLKIN/XTAL2                     A10 24  
  270.  
  271.                 18 XTAL1                           A11 23  
  272.  
  273.                 19 A15                             A12 22  
  274.  
  275.                 20 A14                             A13 21  
  276.           ========================================================================
  277.  
  278.     CC-40 PROJECT REPORT # 2 
  279.  
  280.     OBJECTIVE: 
  281.     Construct cartridge port extender board for the CC-40 to be used for
  282.     connecting lab equipment to the CC-40.  
  283.  
  284.     PROCEDURE: 
  285.     A 2.035 inch X 6.0 inch rectangle circuit card was cut from a sheet of
  286.     0.020 inch thick, double sided, copper plated circuit board. One end of
  287.     the rectangle was cut out at both corners leaving a 1.050 inch X .25 inch
  288.     tab protruding from the circuit card. This tab fits into the cartridge
  289.     port card edge connector of the CC-40. 
  290.  
  291.     20 .035 inch X .4 inch pads were laid out on .050 centers on each face
  292.     (top and bottom) of the tab of the circuit card, with dry transfer
  293.     strips. The pads extended off the tab onto the main portion of the
  294.     circuit card on each face.   
  295.  
  296.     2 rows of 20 points were laid out on .1875 inch (3/16 inch) centers along
  297.     the edge of both of the 6 inch sides of the circiut card, starting at the
  298.     end opposite the tab.  Dry transfer pads were placed at each point on the
  299.     inner row on each side of the top face. Corresponding pads were placed on
  300.     the bottom face. Dry transfer pads were placed on the top face for each
  301.     point of the outter row on the right side and on the bottom face for each
  302.     point of the outter row on the left side. 
  303.  
  304.     The inner row of 20 pads on the right side were connected with dry
  305.     transfer lines to the 20 pads of the tab on the top face. The inner
  306.     row of 20 pads on the left side were connected on the bottom face with
  307.     dry transfer lines to the 20 pads of the tab on the bottom face.   
  308.  
  309.     The circuit card was then etched in a solution of Ferric Chloride to
  310.     remove the unwanted copper plating between the dry transfers leaving the
  311.     desired circuit traces intact. After rinsing the circuit card with water,
  312.     the dry transfer was removed with Isopropanol and a scrub pad. 
  313.     .025 inch holes were drilled thru the pads in the rows along each side of
  314.     the circuit card. 2 holes in the each pad of the outer row on each side
  315.     and 1 hole in each pad of the inner row on each side. 
  316.  
  317.     The continuity was checked between each tab pad and its corrosponding
  318.     inner row pad. Each tab pad was checked for shorts to the tab pads
  319.     adjacent to it. One short was found and corrected. 
  320.  
  321.     The pads were masked off with tape and the card was painted with several
  322.     coats of enamel paint to insulate and protect the traces. 
  323.  
  324.     Wire wrap pins were installed upside down in the outter holes in the
  325.     outter row of pads on each side. The excess length of the pins were cut
  326.     off were they protruded thru the bottom face of the card. This left the
  327.     pins protruding approximately .165 inch from the top face of the card. 
  328.  
  329.     Jumper wires were attached on the top face between the holes in the inner
  330.     row of pads on each side to the corresponding inner holes in the outter
  331.     row of pads on each side. This connected each pin to its corresponding
  332.     trace from the circuit card tab.   
  333.  
  334.     CONCLUSION:
  335.     The extender board constructed brings the CC-40 cartridge port signals
  336.     out from the small cartridge port connector to a larger test point area.
  337.  
  338.     The 2 rows of pins on the extender card allow easy access to the signals
  339.     for attaching lab equipment. The jumper wires provide a means of
  340.     reordering the signals on the pins, from a physical order to a logical
  341.     order, once the signals have been identifided. 
  342. ===========================================================================
  343.  
  344.     EXTENDER CARD:
  345.     
  346.                <--.5" --><------ 1.050" ------><--.5" -->
  347.                         ----------------------                             
  348.       .25"              |!!!!!!!!!!!!!!!!!!!!|               |            
  349.               ---------- !!!!!!!!!!!!!!!!!!!! ----------     |            
  350.         |     |    j     !!!!!!!!!!!!!!!!!!!!    j     |     |            
  351.         |     |    u     !!!!!!!!!!!!!!!!!!!!    u     |     |            
  352.               |    m     !!!!!!!!!!!!!!!!!!!!    m     |     |            
  353.         2"    |p   p     !!!!!!!!!!!!!!!!!!!!    p   p |     |            
  354.               |i   e     !!!!!!!!!!!!!!!!!!!!    e   i |     |            
  355.         |     |n   r     !!!!!!!!!!!!!!!!!!!!    r   n |     |            
  356.         |     |s   s     !!!!!!!!!!!!!!!!!!!!    s   s |     |            
  357.         |     |    _     !!!!!!!!!!!!!!!!!!! \   _     |     |            
  358.               |. ./ \o   !!!!!!!!!!!!!!!!!! \ \o/ \o=o |     |            
  359.         |     |          !!!!!!!!!!!!!!!!! \ \         |     |            
  360.         |     |. .   o   !!!!!!!!!!!!!!!! \ \ \o   o=o |     |            
  361.         |     |          !!!!!!!!!!!!!!! \ \ \         |     |            
  362.         |     |. .   o   !!!!!!!!!!!!!! \ \ \ \o   o=o |     |            
  363.         |     |          !!!!!!!!!!!!! \ \ \ \         |     |            
  364.         |     |. .   o   !!!!!!!!!!!! \ \ \ \ \o   o=o |     |            
  365.         |     |          !!!!!!!!!!! \ \ \ \ \         |     |            
  366.         |     |. .   o   !!!!!!!!!! \ \ \ \ \ \o   o=o |     |            
  367.         |     |          !!!!!!!!! \ \ \ \ \ \         |     |            
  368.         |     |. .   o   !!!!!!!! \ \ \ \ \ \ \o   o=o |     |            
  369.         |     |          !!!!!!! \ \ \ \ \ \ \         |     |            
  370.         |     |. .   o   !!!!!! \ \ \ \ \ \ \ \o   o=o |     |            
  371.         |     |          !!!!! \ \ \ \ \ \ \ \         |                 
  372.         |     |. .   o   !!!! \ \ \ \ \ \ \ \ \o   o=o |     6"           
  373.         |     |          !!! \ \ \ \ \ \ \ \ \         |                    
  374.         |     |. .   o   !! \ \ \ \ \ \ \ \ \ \o   o=o |     |            
  375.         |     |          ! \ \ \ \ \ \ \ \ \ \         |     |            
  376.               |. .   o    \ \ \ \ \ \ \ \ \ \ \o   o=o |     |            
  377.       3.75"   |            \ \ \ \ \ \ \ \ \ \         |     |            
  378.               |. .   o      \ \ \ \ \ \ \ \ \ \o   o=o |     |            
  379.         |     |              \ \ \ \ \ \ \ \ \         |     |            
  380.         |     |. .   o        \ \ \ \ \ \ \ \ \o   o=o |     |            
  381.         |     |                \ \ \ \ \ \ \ \         |     |            
  382.         |     |. .   o          \ \ \ \ \ \ \ \o   o=o |     |            
  383.         |     |                  \ \ \ \ \ \ \         |     |            
  384.         |     |. .   o            \ \ \ \ \ \ \o   o=o |     |            
  385.         |     |                    \ \ \ \ \ \         |     |            
  386.         |     |. .   o              \ \ \ \ \ \o   o=o |     |            
  387.         |     |                      \ \ \ \ \         |     |            
  388.         |     |. .   o                \ \ \ \ \o   o=o |     |            
  389.         |     |                        \ \ \ \         |     |            
  390.         |     |. .   o                  \ \ \ \o   o=o |     |            
  391.         |     |                          \ \ \         |     |            
  392.         |     |. .   o                    \ \ \o   o=o |     |            
  393.         |     |                            \ \         |     |            
  394.         |     |. .   o                      \ \o   o=o |     |            
  395.         |     |                              \         |     |            
  396.         |     |. .   o                         o   o=o |     |            
  397.               ------------------------------------------  
  398.                <---------------- 2.050" ----------------> 
  399.  
  400.  
  401. =============================================================================
  402.  
  403.     CC-40 PROJECT REPORT # 3 
  404.  
  405.     OBJECTIVE: Expand CC-40 System RAM from 6K to 18K.
  406.  
  407.     PROCEDURE: 
  408.     The 6K of RAM installed in the CC-40 consists of 3 HM6116-LP3 2K Static
  409.     RAM chips.  RAM chip #1 and RAM chip # 2 were removed and 2 28 pin low
  410.     profile sockets were installed in their place. 
  411.     2 HM6264-LP15 8K Static RAM chips were installed in the sockets. 
  412.  
  413.     The 2K RAM is 24 pin and the 8K RAM chip is 28 pin. The 8K RAM chip is
  414.     pin compatible with 23 out of the 24 pins of the 2K RAM chip. The WE NOT
  415.     signal must be replaced by A11. See attached sheet. 
  416.  
  417.     The 4 additional pins of the 8K RAM chips must be supplied the following
  418.     signals: 
  419.     Pin  1 -- No connection
  420.     Pin  2 -- A12
  421.     Pin 27 -- WE NOT
  422.     Pin 28 -- VCC
  423.  
  424.     A12, VCC, and WE NOT were already supplied to the appropriate pins for
  425.     the 8K RAM chips by the CC-40, as these pins are not used by the 24 pin
  426.     2K RAM chips. 
  427.  
  428.     A jumper block in the CC-40 allows the WE NOT signal to be replaced by
  429.     A11 for the 8K RAM chip. The jumper block was reconfigured as shown on
  430.     the attached sheet. 
  431. ==============================================================================
  432.  
  433.  
  434.     HM6116LP-3 2K RAM AND HM6264LP-15 8K RAM PINNOUTS:
  435.    
  436.    2K OUTSIDE                     8K INSIDE 
  437.             1 NC                  VCC 28
  438.                                                        __
  439.                     2 A12                              WE 27  
  440.  
  441.         A7  3 A7                  CS2 26  VCC
  442.  
  443.         A6  4 A6                   A8 25  A8
  444.  
  445.         A5  5 A5                   A9 24  A9
  446.                                   __
  447.         A4  6 A4                  A11 23  WE
  448.                                __     __
  449.                 A3  7 A3                               OE 22  OE
  450.  
  451.         A2  8 A2                  A10 21  A10
  452.                                                       ___     ___
  453.                 A1  9 A1                              CS1 20  CS1 
  454.  
  455.         A0 10 A0                   D7 19  D7
  456.  
  457.         D0 11 D0                   D6 18  D6
  458.  
  459.         D1 12 D1                   D5 17  D5
  460.  
  461.         D2 13 D2                   D4 16  D4
  462.  
  463.            GND 14 GND                   D3 15  D3
  464.  
  465. ==========================================================================
  466.  
  467.     
  468.    CC-40 RAM MEMORY JUMPER BLOCK:  
  469.     Jumper block configured for 2K chips:
  470.               ___
  471.    __        /   \
  472.    WE ______0     0_______ pin 23 RAM chip # 1
  473.              \    |
  474.               \   |
  475.    A11 _____0  \  0
  476.         |     __\
  477.         |    /   \
  478.         |   0     0_______ pin 27 RAM chips # 1 and # 2
  479.         |    \    
  480.         |     \
  481.         |___0  \__0_______ pin 23 RAM chip # 2 
  482.  
  483.  
  484.  
  485.  
  486.  
  487.     Jumper block configured for 8K chips: 
  488.     __
  489.    WE ______0     0_______ pin 23 RAM chip # 1
  490.              \    |
  491.               \   |
  492.    A11 _____0  \  0
  493.         |    \__\/
  494.         |        \
  495.         |   0     0_______ pin 27 RAM chips # 1 and # 2
  496.         |    \    
  497.         |     \
  498.         |___0  \__0_______ pin 23 RAM chip # 2
  499.              \___/ 
  500.  
  501. ============================================================================
  502.  
  503.     CC-40 MEMORY MAP1:  
  504.  
  505.     DECIMAL    HEX     DESCRIPTION         SIZE
  506.    -------------------------------------------------------------------------
  507.        0      0000
  508.                       REGISTER FILE       128 BYTES PROCESSOR RAM
  509.      127      007F
  510.    -------------------------------------------------------------------------
  511.      128      0080
  512.                       UNUSED              128 BYTES
  513.      255      00FF
  514.    -------------------------------------------------------------------------
  515.      256      0100
  516.                       PERIPHERAL FILE     256 BYTES MEMORY MAP I/O
  517.      511      01FF
  518.    -------------------------------------------------------------------------
  519.      512      0200
  520.                       UNUSED              1.5K
  521.     2047      07FF
  522.    -------------------------------------------------------------------------
  523.     2048      0800
  524.                       SYSTEM RAM          2K INSTALLED
  525.     4095      0FFF
  526.    -------------------------------------------------------------------------
  527.     4096      1000
  528.                       SYSTEM RAM          2K INSTALLED
  529.     6143      17FF
  530.    -------------------------------------------------------------------------
  531.     6144      1800
  532.                       SYSTEM RAM          6K NOT INSTALLED
  533.    12287      2FFF
  534.    -------------------------------------------------------------------------
  535.    12288      3000
  536.                       SYSTEM RAM          2K INSTALLED
  537.    14335      37FF
  538.    -------------------------------------------------------------------------
  539.    14336      3800
  540.                       SYSTEM RAM          6K NOT INSTALLED
  541.    20479      4FFF
  542.    -------------------------------------------------------------------------
  543.    20480      5000
  544.                       CARTRIDE PORT       32K
  545.    53247      CFFF
  546.    -------------------------------------------------------------------------
  547.    53248      D000
  548.                       SYSTEM ROM          8K
  549.    61439      EFFF
  550.    -------------------------------------------------------------------------
  551.    61440      F000
  552.                       UNUSED              2K
  553.    63487      F7FF
  554.    -------------------------------------------------------------------------
  555.    63488      F800
  556.                       PROCESSOR ROM       2K
  557.    65536      FFFF
  558.    -------------------------------------------------------------------------
  559.  
  560. ============================================================================
  561.  
  562.    CC-40 MEMORY MAP: AFTER 12K RAM ADDED: 
  563.  
  564.     DECIMAL    HEX     DESCRIPTION         SIZE
  565.    -------------------------------------------------------------------------
  566.        0      0000
  567.                       REGISTER FILE       128 BYTES PROCESSOR RAM
  568.      127      007F
  569.    -------------------------------------------------------------------------
  570.      128      0080
  571.                       UNUSED              128 BYTES
  572.      255      00FF
  573.    -------------------------------------------------------------------------
  574.      256      0100
  575.                       PERIPHERAL FILE     256 BYTES MEMORY MAP I/O
  576.      511      01FF
  577.    -------------------------------------------------------------------------
  578.      512      0200
  579.                       UNUSED              1.5K
  580.     2047      07FF
  581.    -------------------------------------------------------------------------
  582.     2048      0800
  583.                       SYSTEM RAM          2K INSTALLED
  584.     4095      0FFF
  585.    -------------------------------------------------------------------------
  586.     4096      1000
  587.                       SYSTEM RAM          8K INSTALLED
  588.    12287      2FFF
  589.    -------------------------------------------------------------------------
  590.    12288      3000
  591.                       SYSTEM RAM          8K INSTALLED
  592.    20479      4FFF
  593.    -------------------------------------------------------------------------
  594.    20480      5000
  595.                       CARTRIDE PORT       32K
  596.    53247      CFFF
  597.    -------------------------------------------------------------------------
  598.    53248      D000
  599.                       SYSTEM ROM          8K
  600.    61439      EFFF
  601.    -------------------------------------------------------------------------
  602.    61440      F000
  603.                       UNUSED              2K
  604.    63487      F7FF
  605.    -------------------------------------------------------------------------
  606.    63488      F800
  607.                       PROCESSOR ROM       2K
  608.    65536      FFFF
  609.    ------------------------------------------------------------------------- 
  610.  
  611. ===========================================================================
  612.  
  613.  
  614.  
  615.     CC-40 PROJECT REPORT # 4 
  616.     OBJECTIVE: Determine pinnout of CC-40 cartridge port. 
  617.     PROCEDURE and OBSERVATIONS:
  618.  
  619.     The following CC-40 cartridge port signals were identified by observing
  620.     the signals with the logic analyzer. 
  621.     The R/W(NOT) signal was identified by comparing the R/W(NOT) signal on
  622.     the microprocessor to the port signals. The R/W(NOT) signal was the used
  623.     to qualify the logic analyzer input, allowing signals to be observed only
  624.     during a write condition. 
  625.  
  626.     First, the data bus signals were identified. By observing the signals
  627.     while writing a progressive sequence of numbers (00 to FF, incrementing
  628.     by 01), to a single address, the pins carrying the data signals D0 thru
  629.     D7 were found and their order identified.  
  630.  
  631.     Next, the address bus signals were identified. By observing the signals
  632.     while writing a single number to a progressive sequences of addresses
  633.     (1000 to 1FFF, 2000-2FFF etc., incrementing by 0001), the pins carrying
  634.     the address signals A0 thru A15 were found and their order identified.
  635.  
  636.     The signals A0 thru A7 were found to be available, demultiplexed from the
  637.     D0/A0 thru D7/A7 signals. 
  638.  
  639.     Then, with the analyzer qualify turned off, the control signals were
  640.     idenified. By observing the relationship between the various signals and
  641.     comparing them to the timing diagram in the 70C20 microprosessor manual
  642.     the control signals CLKOUT, ENABLE(NOT), and ALATCH were identified. 
  643.  
  644.     A system derived control signal that I have named DELAYED
  645.     ALATCH(NOT)+READ was also identified. DELAYED ALATCH(NOT)+READ is the
  646.     inverse of ALATCH and follows the ALATCH signal by one time state when
  647.     R/W(NOT) is HI. This signal is not present (HI), when R/W(NOT) is LOW. I
  648.     deduce that this signal is available for memory timing control. 
  649.  
  650.     The +5 VOLT and GROUND signals were identified by obverving the signals
  651.     with an oscilliscope while loading and unloading the signals thru a 2K
  652.     ohm resistor to ground or +5 volts.   
  653.  
  654.     The CRAM(NOT) and CROM(NOT) signals were identified by observing these
  655.     signals with the oscilliscope. I found that they were floating just above
  656.     the ground potential. (They had been shown as LOWs by the logic
  657.     analyzer.) After attaching 10K ohm pull-up resistors to +5 volts these
  658.     signals were again observed with the logic analyzer. They were found to
  659.     be active LOW during access to specific blocks of memory addresses.
  660.     CRAM(NOT) LOW for block 5000 thru 8FFF and CROM(NOT) LOW for block 9000
  661.     thru CFFF.  These two signals are available to enable memory attached to
  662.     the cartidge port. 
  663.  
  664.     The RESET(NOT) and INT3(NOT) signals were identified with the logic
  665.     analyzer, by obverving the vector addresses generated when they were
  666.     pulled low. 
  667.  
  668.     I was not able to identify 3 of the 40 cartridge port signals.  The
  669.     signals on pin 17 and pin 3 are both LOW and were never obverved to
  670.     change state during any tests. The signal on pin 39 has an infrequent
  671.     pulse during accesses to the system ROM chip, address range D000 thru
  672.     EFFF, particularly addresses D4F6 and D5FE. Since the system ROM is 32K,
  673.     mapped into an 8K slot in the system memory map, it is possible that this
  674.     signal relates to bank switching of various ROM address blocks into the
  675.     8K slot. I have not been able to verify the exact function of this pin at
  676.     this time. 
  677.  
  678.     CONCLUSION:  
  679.     Of the 40 pins of the cartridge port, the 37 pins that were identified
  680.     provide access to all major data, address, and control lines neseccary to
  681.     interface external memory or I/O circuits. Since the D0/A0 thru D7/A7
  682.     multiplexed data/address lines are available demultiplexed to distinct A0
  683.     thru A7 signals, an external demultiplexing circuit is not needed to
  684.     access the A0 thru A7 address signals. .  Additionally, since the
  685.     CROM(NOT) and CRAM(NOT) signals are available, an external address
  686.     decoding circuit is not needed to interface external memory in the
  687.     5000-8FFF or 9000-CFFF ranges. 
  688.  
  689. ============================================================================
  690.  
  691.     CC-40 CARTRIDGE PORT PINOUT: 
  692.                                          TOP
  693.       |---------------------------------------------------------------| 
  694.    E  |  20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  |
  695.    D  |                                                               |
  696.    G  |  21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40  |
  697.    E  |---------------------------------------------------------------|  
  698.                          ____
  699.     1 GND                                 21 CROM
  700.  
  701.     2 +5 VOLT CONSTANT                    22 A6
  702.  
  703.     3 UNKNOWN  (LOW)                      23 A5
  704.  
  705.     4 A9                                  24 A4
  706.  
  707.     5 A11                                 25 A2
  708.               ______
  709.     6 DELAYED ALATCH + READ               26 A0
  710.       _____
  711.     7 RESET                               27 GND ?
  712.       ____
  713.     8 INT3                                28 D2
  714.  
  715.     9 CLKOUT                              29 D1
  716.         _
  717.    10 R/W                                 30 D0
  718.       ______
  719.    11 ENABLE                              31 D6
  720.       ___
  721.    12 A14                                 32 D5
  722.  
  723.    13 ALATCH                              33 D4
  724.  
  725.    14 D3                                  34 D7
  726.                                              ____
  727.    15 A1                                  35 CRAM
  728.  
  729.    16 A3                                  36 A10
  730.  
  731.    17 UNKNOWN (LOW)                       37 A8
  732.  
  733.    18 A12                                 38 A15
  734.  
  735.    19 A7                                  39 UNKNOWN (PULSE)
  736.  
  737.    20 +5 VOLT SWITCHED                    40 A13 
  738.  
  739. ===========================================================================
  740.  
  741.     CC-40 CARTRIDGE PORT SIGNALS: 
  742.  
  743.     SIGNAL    DESCRIPTION  
  744.  
  745.     ALATCH    Logic 1 while port C (multiplexed address/data bus) asserts a
  746.               memory address. 
  747.  
  748.     R/W       Logic 1 for read cycle, logic 0 for write cycle.
  749.     ______
  750.     ENABLE    Logic 0 for external (off processor) memory cycle.
  751.  
  752.     CLOCKOUT  Output clock for memory control timing. 
  753.  
  754.     A0 - A7   Addresses A0 thru A7 demultiplexed from D0/A0 thru D7/A7
  755.               signals. 
  756.  
  757.     D0 - D7   Multiplexed data lines D0/A0 thru D7/A7.
  758.     ____
  759.     CRAM      Logic 0 for memory bank 5000-8FFF enable.
  760.     ____
  761.     CROM      Logic 0 for memory bank 9000-CFFF enable.
  762.     ____
  763.     INT3      Logic 0 to initiate a level 3 interrupt.
  764.     _____
  765.     RESET     Logic 0 to initiate a level 0 interrupt (RESET).
  766.     &DELAYED
  767.  
  768.     ALATCH+READ     Logic 0 for one time state immeadiately following the
  769.             ALATCH signal return to logic 0 when R/W(NOT) is logic 1.
  770.             (Most likely used for memory address timing control)
  771.  
  772. ===========================================================================
  773.  
  774.  
  775.     CC-40 PROJECT REPORT # 5 
  776.  
  777.     OBJECTIVE: Determine pinnout and function of CC-40 peripheral port. 
  778.  
  779.     PROCEDURE and OBSERVATIONS:
  780.  
  781.     The CC-40 computer has an 8 pin peripheral port called a HEX-BUS
  782.     interface. The HEX-BUS port signals were identified by observing the
  783.     signals with the logic analyzer, while exercising the CC-40's built-in
  784.     I/O commands. 
  785.  
  786.     HEX-BUS PORT PINOUT: See attached sheet. 
  787.  
  788.     The HEX-BUS is a 4-bit wide parallel I/O bus.  The CC-40 expects data to
  789.     be returned over the HEX-BUS to the CC-40 from the peripheral in response
  790.     to all built in commands such as OPEN, CLOSE, SAVE, LOAD, etc. This
  791.     requires that the peripheral be an intellegent I/O device, designed to
  792.     respond with the proper return data when accessed. 
  793.  
  794.     The HEX-BUS can be accessed directly, bypassing the CC-40's built in I/O
  795.     commands.  Reading or writing to the proper memory mapped I/O address
  796.     will output data to or input data from the HEX-BUS. Additionally the
  797.     BAV(NOT) and HSK(NOT) lines are available as memory mapped I/O addresses.
  798.  
  799.     The BAV(NOT) line can be sensed or controlled by reading or writing data
  800.     to or from the proper address. The HSK(NOT) line can be controlled
  801.     (output HI or LOW), but can not be sensed (no input capability). 
  802.     HEX-BUS MEMORY MAPPED I/O ADDRESSES: 
  803.  
  804.     Address:
  805.     Decimal  Hex    Description
  806.     274      0112   HEX-BUS DATA  D0-D3      (4 BITS OF DATA)
  807.                   D4-D7      OF THIS BYTE NOT USED
  808.             ___
  809.     275      0113   BAV LINE      D0         0=LOW 1=HI FOR INPUT OR OUTPUT
  810.                   D1-D7      OF THIS BYTE READ LOW 0000000
  811.                                              AND ARE NOT USED 
  812.             ___
  813.     276      0114   HSK LINE      D1         0=LOW 1=HI FOR OUTPUT (NO INPUT)
  814.                   D0, D2-D7  ARE NOT USED
  815.  
  816.  
  817.     The RESET(NOT) and INT3(NOT) signals were identified with the logic
  818.     analyzer, by observing the vector addresses generated when they were
  819.     pulled low. 
  820.  
  821.     I was not able to indenitfy 3 of the 40 cartridge port signals. The
  822.     signals on pin 17 and pin 3 are both LOW and were never observed to
  823.     change states during any tests. The singal on pin 39 has an infrequesnt
  824.     pulse during accesses to the system ROM chip, address range D000 thru
  825.     EFFF, particularly addresses D4F6 and D5FE. Since the system ROM is 32K,
  826.     mapped into an 8K slot in the system memory map, it is possible that this
  827.     signal relates to bank switching of various ROM address blocks into the
  828.     8K slot. I have not been able to verify the exact funtion of this pin at
  829.     this time. 
  830.  
  831.     CONCLUSION:
  832.  
  833.     Of the 40 pins of the cartridge port, the 37 pins that were identified
  834.     provide access to all major data, address, and control lines neseccary to
  835.     interface external memory or I/O circuits. Since the D0/A0 thru D7/A7
  836.     multiplexed data/address lines are available demultiplexed to distinct A0
  837.     thru A7 signals, an external demultiplexing circuit is not needed to 
  838.     access the A0 thru A7 address signals. Additionally, since the 
  839.     CROM(NOT) and CRAM(NOT) signals are available, an external address 
  840.     decoding circuit is not needed to interface external memory in the 
  841.     5000-8FFF or 9000-CFFF ranges. 
  842.  
  843.  
  844.  
  845. ========================================================================
  846.  
  847.     CC-40 HEX BUS PINOUT: 
  848.           __
  849.        ______|    |______
  850.       |                | 
  851.       |   1  2  3  4   |
  852.       |                |
  853.       |   5  6  7  8   |
  854.       |----------------|  
  855.  
  856.     PIN   NAME   SIGNAL          FUNCTION
  857.  
  858.      1       GND      GROUND      SIGNAL RETURN
  859.        ___
  860.      2       BAV      BUS AVAILABLE   LOGIC 0 (LOW) BUS IN USE BY CC-40 FOR OUTPUT
  861.                   LOGIC 1 (HI) BUS AVAILABLE FOR INPUT
  862.      3       D1      DATA BIT 1
  863.      4       D0      DATA BIT 0
  864.      5       D2      DATA BIT 3
  865.      6       D3      DATA BIT 2
  866.      7          NOT USED      NO CONNECTION
  867.        ___
  868.      8       HSK      HANDSHAKE      LOGIC 0 (LOW) VALID DATA IS PRESENT ON D0-D3
  869.  
  870.  
  871. ===========================================================================
  872.  
  873.     CC-40 HEX BUS PINOUT:
  874.     
  875.           __
  876.        ______|  |______
  877.       |                | 
  878.       |   1  2  3  4   |
  879.       |                |
  880.       |   5  6  7  8   |
  881.       |----------------|  
  882.  
  883.      1 GND             WHITE                5 D3
  884.        ___
  885.      2 BAV           BLACK            6 D2
  886.  
  887.      3 D1              RED                  7 SPARE (NOT CONNECTED)
  888.                           ___
  889.      4 D0           GREEN            8 HSK
  890.  
  891. ============================================================================
  892.  
  893.     CC-40 PROJECT REPORT # 6
  894.  
  895.     4 BIT PARALLEL TO 8 BIT PARALLEL INTERFACE # 1
  896.  
  897.     First design for a circuit to interface the CC-40 computer to an 8 bit
  898.     parallel input printer. 
  899.  
  900.     OPERATION:
  901.       The HSK(NOT), and BAV(NOT) normally HI. The 74LS244 buffer boosts the
  902.        CC-40 CMOS outputs to TTL levels. 
  903.  
  904.     1. The BAV(NOT) line HI (normal state) enables the ENABLE input of the
  905.        74LS75 latch, enabling the latch for input of data. 
  906.  
  907.     2. The lower 4 bits of a data byte are sent to the 74LS75 latch on
  908.        Di0-Di3. 
  909.  
  910.     3. The BAV(NOT) line is applied LOW to latch the 4 bits in the latch.   
  911.  
  912.     4. The upper 4 bits of a data byte are sent on Di0-Di3 and appear on
  913.        Do4-Do7. 
  914.  
  915.     5. The HSK(NOT) line is applied LOW to the printer STROBE(NOT) line,
  916.     strobing the data word from Do0-D07 into the printer. 
  917.  
  918.     6. The HSK(NOT) line is applied HI (normal state).   
  919.  
  920.     7. The BAV(NOT) line is applied HI (normal state).   
  921.        Sequence repeated for each 8 bit data word sent to the printer.  
  922.  
  923.     SIGNAL TIMING:  
  924.     ___   ____                   _____                  
  925.     BAV       |_________________|
  926.     ___   ______________    __________
  927.     HSK         |__|
  928.                                                        
  929.     Di      -<//////>---<//////>--------
  930.  
  931.     SCHEMATIC:
  932.     ___      _____                          ______      
  933.     BAV  ___|      |________________________|E      |
  934.         |      |               |      |
  935.     Di0  ___|  B  |________________________|  L   |_____   Do0
  936.         |  U  |             \       |  A   |
  937.     Di1  ___|  F  |___________________|____|  T   |_____   Do1     P
  938.         |  F  |        \     |    |  C   |
  939.     Di2  ___|  E  |______________|____|____|  H   |_____   Do2     R
  940.         |  R  |        \     |    |    |      |
  941.     Di3  ___|      |__________|___|____|____|  75  |_____   Do3     I
  942.         |      |    \    |     |    |    |______|
  943.     ___     |      |     |   |     |     \________________   Do4     N
  944.     HSK  ___| 244 |__     |   |     |
  945.         |_____|  \     |   |      \_____________________   Do5     T
  946.              |     |   |
  947.              |     |    \_________________________   Do6     E
  948.              |     |
  949.              |      \_____________________________   Do7     R
  950.              |                       ______
  951.               \_________________________________   STROBE
  952.  
  953.  
  954.  
  955.     SUBROUTINE TO RUN INTERFACE # 1.   
  956.     PASS SINGLE ASCII CHARACTER TO SEND IN VARIABLE A AND B.
  957.     (example: ASCII CHARACTER 'E' is HEX 45. Send A=4 and B=5.)
  958.  
  959.     10 SUB PRINTCHAR (A,B)   !PASS CHARACTER TO SEND IN A AND B
  960.     20 FOR C = 1 TO 2    !DO 2 TIMES, ONCE FOR A AND ONCE FOR B
  961.     30 CALL POKE(274,A) !SEND CHARACTER (ONLY LOWER 4 BITS ARE OUTPUT)
  962.                  ___
  963.     40 CALL POKE(275,0) !SET BAV LOW - LACTH THE 4 BITS
  964.     50 A=INT(A/16)    !SHIFT UPPER 4 BITS OF CHARACTER TO LOWER 4 BITS
  965.     60 CALL POKE(274,A) !SEND CHARACTER (ONLY LOWER 4 BITS ARE OUTPUT)
  966.                  ___
  967.     70 CALL POKE(276,0) !SET HSK LOW - STROBE 8 BITS TO PRINTER
  968.                  ___         ___
  969.     80 CALL POKE(276,2) !SET HSK HI - RETURN HSK TO NORMAL STATE
  970.                  ___         ___
  971.     90 CALL POKE(275,1) !SET BAV HI - RETURN BAV TO NORMAL STATE
  972.     100 A=B        !PUT SECOND PART IN A TO SEND IT
  973.     110 NEXT C        !GO DO IT AGAIN FOR SECOND PART
  974.     80 RETURN        !RETURN TO CALLING PROGRAM
  975.  
  976.     CONCLUSION:
  977.  
  978.     This interface functioned satisfactory. There is no provision for sencing
  979.     a BUSY signal from the printer. This was not a problem since the
  980.     subroutine written in basic outputs the data to the printer at a speed
  981.     that is slower than the printer's maximun input speed. If the subroutine
  982.     is rewritten in assembly language, the interface will have to be upgraded
  983.     to sense the BUSY signal. 
  984.  
  985.  
  986. ============================================================================
  987.  
  988.     CC-40 PROJECT REPORT # 7
  989.  
  990.     4 BIT PARALLEL TO 8 BIT PARALLEL INTERFACE # 2
  991.     Second design for a circuit to interface the CC-40 computer to an 8 bit
  992.     parallel input printer. 
  993.  
  994.     This design adds the ability to sense the printer BUSY signal.   
  995.     OPERATION: 
  996.  
  997.        The HSK(NOT), and BAV(NOT) normally HI. The 74LS244 buffer boosts the
  998.        CC-40 CMOS outputs to TTL levels. 
  999.     1. (T1) The BAV(NOT) line HI (normal state) enables the ENABLE input of
  1000.             the 74LS75 latch, enabling the latch for input of data.
  1001.     2. (T1) The lower 4 bits of a data byte are sent to the 74LS75 latch on
  1002.         Di0-Di3.
  1003.     3. (T2) The BAV(NOT) line is applied LOW to latch the 4 bits in the
  1004.             latch.  
  1005.     4. (T3) The upper 4 bits of a data byte are sent on Di0-Di3 and appear on
  1006.             Do4-Do7.
  1007.     5. (T4) The HSK(NOT) line is applied LOW to the trigger input of the
  1008.             74LS123 monostable multivibrator, causing it to produce a 1.8 ms
  1009.             negative going pulse on the printer STROBE(NOT) line, strobing
  1010.             the data word from Do0-D07 into the printer.
  1011.     6. (T4) STROBE(NOT) now HI after the pulse is gated by a 74LS00 with
  1012.             HSK(NOT) LOW to produce BEN(NOT) LOW which enables the 74LS125 3
  1013.             state buffer (previously in tristated mode). This connects the
  1014.             printer BUSY line to the BAV(NOT) line.
  1015.     7. (T5) The BAV(NOT) line is then sensed for a HI (BUSY from the
  1016.             printer).  If BAV(NOT is HI (T5A) the software continues to sence
  1017.             BAV(NOT) (T5) until it goes LOW (T5B). IF BAV(NOT) is LOW (T5B)
  1018.             the printer is ready for the next data transmission.
  1019.     9. (T6) HSK(NOT) is applied HI (normal state), tristating the 74LS125
  1020.             buffer and readying the 74LS123 multivibrator.  
  1021.     7. (T7) The BAV(NOT) line is applied HI (normal state).
  1022.  
  1023.        Sequence repeated for each 8 bit data word sent to the printer.  
  1024.     TIMING:   | T1 | T2 | T3 | T4 | T5 | T5A| T5B| T6 | T7 | 
  1025.     ___       _____                     ____            ____
  1026.     BAV        |_______________<////    |__________|
  1027.  
  1028.     ___       _______________              __________
  1029.     HSK              |___________________|
  1030.                                                            
  1031.     Di          -<///////>-<///////>--------------------------
  1032.     ______    _______________    ____________________________
  1033.     STROBE             |_|
  1034.                                        ____
  1035.     BUSY      _____________________<////    |_______________
  1036.  
  1037.     ___       __________________          __________
  1038.     BEN             |________________|
  1039.  
  1040.  
  1041.      
  1042.     SCHEMATIC:                                      _____
  1043.                            | 125 |
  1044.          ______________________________________|     |____________ BUSY
  1045.         /                       |     |
  1046.         |                       |    E|_______
  1047.         |                       |_____|     |
  1048.         |                             |
  1049.         |                     ____         |
  1050.         |                 ___| 00 \     ____     |
  1051.         |        /---------------<___|      )o--| 00 \     |
  1052.         |        |    _____        |____/    |     )o---/
  1053.         |        |      | 123 |          /---|____/
  1054.         |        |      |    _|         /               ______
  1055.             |           |      |    Q|__________/_____________________ STROBE   
  1056.             |           |      |     |                                         
  1057.         |        |      |    R|_______________/\/\/\/\_________ +5V
  1058.     ___     |   _____   |      |_    |          |       5K                   
  1059.     HSK  ___|__|     |__|______|A   C|---||-----/
  1060.     ___     |  |     |           |_____|    1000p         ______
  1061.     BAV  __/___|     |______________________________|E       |
  1062.            |     |                    |       |
  1063.     Di0  ______|  B  |______________________________|  L   |__________ Do0
  1064.            |  U  |            \        |  A   |
  1065.     Di1  ______|  F  |___________________|__________|  T   |__________ Do1  P
  1066.            |  F  |           \     |        |  C   |
  1067.     Di2  ______|  E  |______________|____|__________|  H   |__________ Do2  R
  1068.            |  R  |           \    |     |        |       |
  1069.     Di3  ______|     |__________|___|____|__________|  75  |__________ Do3  I
  1070.            |     |       \    |   |     |        |______|
  1071.            | 244 |        |    |   |      \___________________________ Do4  N
  1072.            |_____|        |    |   |
  1073.                 |    |    \________________________________ Do5  T
  1074.                 |    |
  1075.                 |     \____________________________________ Do6  E
  1076.                 |
  1077.                  \________________________________________ Do7  R
  1078.                                                                     
  1079.                                                                      
  1080.     SUBROUTINE TO RUN INTERFACE # 2.   
  1081.     PASS SINGLE ASCII CHARACTER TO SEND IN VARIABLE A AND B.
  1082.     (example: ASCII CHARACTER 'E' is HEX 45. Send A=4 and B=5.)
  1083.  
  1084.     10 SUB PRINTCHAR (A,B)  !PASS CHARACTER TO SEND IN A AND B
  1085.     20 FOR C=1 TO 2     ! DO 2 TIMES ONCE FOR A AND ONCE FOR B
  1086.     30 CALL POKE(274,A) !SEND CHARACTER (ONLY LOWER 4 BITS ARE OUTPUT)
  1087.                  ___
  1088.     40 CALL POKE(275,0) !SET BAV LOW - LATCH THE 4 BITS
  1089.     50 A=INT(A/16)    !SHIFT UPPER 4 BITS OF CHARACTER TO LOWER 4 BITS
  1090.     60 CALL POKE(274,A) !SEND CHARACTER (ONLY LOWER 4 BITS ARE OUTPUT)
  1091.                  ___
  1092.     70 CALL POKE(276,0) !SET HSK LOW - STROBE 8 BITS TO PRINTER
  1093.                    ___
  1094.     80 CALL PEEK(275,D) !SENSE BAV LINE FOR PRINTER BUSY
  1095.     90 IF D=1 THEN 80    !IF PRINTER IS BUSY KEEP SENCING
  1096.                  ___         ___
  1097.     100 CALL POKE(276,2) !SET HSK HI - RETURN HSK TO NORMAL STATE
  1098.                  ___         ___
  1099.     110 CALL POKE(275,1) !SET BAV HI - RETURN BAV TO NORMAL STATE
  1100.     120 A=B         !PUT SECOND PART IN A TO SEND IT
  1101.     130 NEXT C         !GO DO IT AGAIN FOR SECOND PART
  1102.     140 RETURN         !RETURN TO CALLING PROGRAM
  1103.     
  1104.     CONCLUSION:
  1105.  
  1106.     This interface functioned satisfactory. The BUSY signal from the printer
  1107.     is sensed, stopping output from the computer until the printer is ready
  1108.     again to accept input. The BUSY signal is output when the printer is
  1109.     unable to accept an input (off line, buffer full, still processing last
  1110.     input, etc.).  The subprogram is slower than the maximum input speed of
  1111.     the printer, so the subroutine should be rewritten in assembly language
  1112.     to speed up the output to the printer. 
  1113.  
  1114. ===========================================================================
  1115.  
  1116.  
  1117.     CC-40 PROJECT REPORT # 8 
  1118.  
  1119.     32 K MEMORY EXPANSION PROJECT
  1120.  
  1121.     Design for a circuit to add an additional 32 K RAM memory to the CC-40
  1122.     computer bringing system RAM up to 50 K total. 
  1123.  
  1124.     This design is for a cartridge for the cartridge port. It uses a single
  1125.     32 K low power static RAM chip HM62256-LP15. It features 16 K of the RAM
  1126.     configured as a write protected area for semi permanent storage.  This
  1127.     simulates a PROM, but may be rewritten by closing the write protect
  1128.     switch. The other 16 K of the RAM functions as normal system RAM. 
  1129.  
  1130.     All 32 K of the RAM is maintained in the STANDBY (LOW POWER) mode when
  1131.     the computer is shut off and when the computer is on, but this 32 K is
  1132.     not being accessed. When the cartridge is removed a 3 volt Lithium
  1133.     battery continues to maintain the RAM in STANDBY mode. This maintains
  1134.     any data stored in the 32 K RAM at all times. The 32 K static RAM draws
  1135.     0.1 mW in STANDBY mode and 200 mW in OPERATE mode. 
  1136.  
  1137.     All read and write cycles are timed by the CRAM(NOT) or CROM(NOT) signal
  1138.     from the CC-40 applied to the RAM's CE1(NOT) input. All data, address
  1139.     and read/write signals are applied, then the CE1(NOT) input is pulsed to
  1140.     perform the read or write operation. This allows the data, address, and
  1141.     read/write signals to be applied without critical regard to their timing.
  1142.     
  1143.     TIMING:            LOWER   16 K                   UPPER   16 K           
  1144.                    WRITE          READ            WRITE          READ
  1145.     ____      ____     _____ ____     _____  ______________ ________________
  1146.     CRAM      |___|      |___|
  1147.     ____      ______________ ______________  ____     _____ ____     _______
  1148.     CROM                     |___|        |___|
  1149.  
  1150.     DATA       <//////////>- -<//////////>-  -<//////////>- -<//////////>--- 
  1151.     ADDRESS   -<//////////>- -<//////////>-  -<//////////>- -<//////////>---
  1152.       _       __      __ ______________  __      __ ________________
  1153.     R/W     |________|               |________|
  1154.         ___   _____ ______   ____      ___   _____ ______   _______
  1155.    CLKOUT    __|   |_|            |_|       __|   |_|            |_|       
  1156.    ______    ____     __    ____     ____   ____     __    ____     _______
  1157.    ENABLE        |___|  |__     |___|           |___|  |__     |___|         
  1158.  
  1159.     CLKOUT and ENABLE signals are not used directly by this memory expansion
  1160.     circuit, but are CC-40 system signals shown for their relationship to the
  1161.     CRAM, CROM, and R/W signals.
  1162.  
  1163.     CC-40 SYSTEM SIGNALS:
  1164.       _
  1165.     R/W       logic 1 for read cycle, logic 0 for write cycle.
  1166.     ______
  1167.     ENABLE      logic 0 for external (off processor) memory cycle.
  1168.     CLOCKOUT      output clock for memory control timing.
  1169.     ____
  1170.     CROM      logic 0 for memory address 9000-CFFF access
  1171.     ____
  1172.     CRAM      logic 0 for memory address 5000-8FFF access
  1173.     
  1174.     SCHEMATIC CC-40  32 K RAM EXPANSION:  
  1175.                                                                            
  1176.                                                           ________________ 
  1177.                   14                                     |                |
  1178.      ADDRESS ____/_______________________________________| A0-A13         |
  1179.                                                          |                |
  1180.                   8                                      |                |
  1181.      DATA    ____/_______________________________________| D0-D87         | 
  1182.                                                          |                |
  1183.                   3V                                     |                |
  1184.                                                          |                |
  1185.                -  | | +     D1                        28 |                |
  1186.      GND    -----||||----->|----+------------------------| VCC            | 
  1187.                   | |           |                        |                |
  1188.                                 |                        |                |
  1189.                             D2  |                     20 | ___            | 
  1190.      VCC    -------------->|----+----/\/\/\/\---+--------| CS1            | 
  1191.      +5V                                2K      |        |                |
  1192.    (not switched)                               |        |                |
  1193.                     74LS00                      |        |                |
  1194.      ____      13 ___      9 ___                |        |                |
  1195.      CRAM   -----| 4 \ 11  _| 3 \  8            |        |                |
  1196.      ____        |    )o--|_|    )o-------------/        |                |
  1197.      CROM   -+---|___/      |___/                        |                |
  1198.              | 12         10                             |   62256-LP15   |
  1199.              |                                           |                |
  1200.              o o                                         |   STATIC RAM   |
  1201.               /  SWITCH                                  |                |
  1202.              o                                           |                |
  1203.              |_____________________                      |                |
  1204.                                    |                     |                |
  1205.                                    |                     |                |
  1206.      VCC    ____________/\/\/\/\___|                     |                |
  1207.      +5V             |    4.7K     |                     |                |
  1208.    (switched)        |             |                     |                |
  1209.                      |             |   5 ___             |                |
  1210.                   1 _|_14          +----| 2 \  6      27 | __             |
  1211.        _          _| 1 \  3  74LS00     |    )o----------| WE             |
  1212.      R/W    -----|_|    )o--------------|___/            |                |
  1213.                    |___/               4                 |                |
  1214.                   2  |7                               14 |                |
  1215.                      |                ___________________| GND            |
  1216.                      |               |                   |                |
  1217.                      |               |                   |                |
  1218.                      |               |                22 | __             | 
  1219.      GND    _________|_______________|___________________| OE             | 
  1220.                                                          |                | 
  1221.                                                          |________________|  
  1222.  
  1223. =============================================================================
  1224.  
  1225.     HN61256CP09 32K X 8-BIT ROM PINNOUT: 
  1226.  
  1227.                     1 A15                             VCC 28  
  1228.  
  1229.                     2 A13                             A14 27  
  1230.  
  1231.                     3 A7                               CS 26  
  1232.  
  1233.                     4 A6                               A8 25  
  1234.  
  1235.                     5 A5                               A9 24  
  1236.  
  1237.                     6 A4                              A12 23 
  1238.                                __
  1239.             7 A3                   CE 22
  1240.  
  1241.                     8 A2                              A10 21  
  1242.  
  1243.                     9 A1                              A11 20  
  1244.  
  1245.                    10 A0                               D7 19  
  1246.  
  1247.                    11 D0                               D6 18  
  1248.  
  1249.                    12 D1                               D5 17  
  1250.  
  1251.                    13 D2                               D4 16  
  1252.  
  1253.                    14 GND                              D3 15  
  1254.  
  1255. =============================================================================
  1256.  
  1257.               Interupt Vectors Used by the CC-40
  1258.  
  1259.           RESET    FFFE F85D
  1260.               INT1      FFFC FDA8
  1261.               INT2      FFFA 080A
  1262.               INT3      FFF8 080D 
  1263.  
  1264.           F85D    22      MOV AA,A
  1265.               F85E      AA
  1266.               F85F      8B        STA 0100
  1267.               F860      01
  1268.               F861      00
  1269.               F862      8C        BR D003
  1270.               F863      D0
  1271.               F864      03 
  1272.  
  1273.      0100 7    6    5    4      3    2    1     0
  1274.          AA   1    0    1    0    1    0    1    0 
  1275.  
  1276.                MODE MODE INT3 INT3 INT2 INT2 INT1 INT1
  1277.            1    0     CLR  DIS  CLR    DIS  CLR  DIS
  1278.  
  1279. ===========================================================================     
  1280.     CC-40 BUS SIGNALS: 
  1281.     SIGNAL    FROM   PIN   DESCRIPTION  
  1282.     ALATCH    70C20   38   logic 1 while port C (multiplexed address/data
  1283.                            bus) asserts a memory address. 
  1284.     R/W       70C20    1   logic 1 for read cycle, logic 0 for write cycle.
  1285.     ______
  1286.     ENABLE    70C20   39   logic 0 for external (off processor) memory
  1287.                            cycle. 
  1288.     CLOCKOUT  70C20    2   output clock for memory control timing. 
  1289.     ____                   RAM Bank  
  1290.     RAM0      GA       0800-0FFF
  1291.     ____                   RAM Bank  
  1292.     RAM1      GA      45   1000-2FFF
  1293.     ____                   RAM Bank  
  1294.     RAM2      GA       3000-4FFF
  1295.     A0        GA      54   Addreess demultiplexed from D0/A0 signal 
  1296.     A1        GA      53   Addreess demultiplexed from D1/A1 signal 
  1297.     A2        GA      52   Addreess demultiplexed from D2/A2 signal 
  1298.     A3        GA      51   Addreess demultiplexed from D3/A3 signal 
  1299.     A4        GA      50   Addreess demultiplexed from D4/A4 signal 
  1300.     A5        GA      49   Addreess demultiplexed from D5/A5 signal 
  1301.     A6        GA      48   Addreess demultiplexed from D6/A6 signal 
  1302.     A7        GA      47   Addreess demultiplexed from D7/A7 signal 
  1303.     
  1304.     ____           ROM Bank
  1305.     CROM      CP      21   9000-CFFF
  1306.                            
  1307.     ____           RAM Bank
  1308.     CRAM      CP      35   5000-8FFF
  1309.                             
  1310.           GA  =  GATE ARRAY
  1311.       CP  =  CARTRIDGE PORT
  1312.  
  1313.   ======================================================================
  1314.  
  1315.                                  CC-40 BLOCK DIAGRAM                      
  1316.                                                                            
  1317.       ____________  A PORT 0-7   ___________________         __________      
  1318.     |   70C20    |________/____|   GATE ARRAY #3   |_______| KEYBOARD |     
  1319.     |  _______   | <           | (KEYBOARD DECODE) | <     |__________|     
  1320.     | |  CPU  |  |     (1)     |  (CONTROL LOGIC)  |                     
  1321.     | |_______|  |     /       |___________________|                       
  1322.     |  _______   | B PORT 0-3           |                                  
  1323.     | |       |  |________/_____________|                                  
  1324.     | | P A C |  | >                    |                    _________      
  1325.     | | E N O |  |              ________|__________         | LIQUID  |     
  1326.     | | R D N |  |             |   GATE ARRAY #2   |________| CRYSTAL |     
  1327.     | | I   T |  |     (3)     | (DISPLAY CONTROL) | >      | DISPLAY |     
  1328.     | | P M R |  |     /       |___________________|        |_________|     
  1329.     | | H E O |  | C PORT               |               _________________    
  1330.     | | E M L |  | ADDRESS/DATA         |   ___________| SYSTEM CONTROL  |   
  1331.     | | R O L |  |       AD0-AD7        |  |         > |_________________|   
  1332.     | | A R E |  |_________/____________|  |  _________| SYSTEM SENSE    |  
  1333.     | | L Y R |  | <>                   |  | |       < |_________________|  
  1334.     | |_______|  |     (4)              |  | |                              
  1335.     |  _______   |     /         _______|__|_|__  I/O  Z0112    ___________ 
  1336.     | | 128   |  | D PORT       | GATE ARRAY #1 | DATA D0-D3   |  HEX-BUS  |
  1337.     | | BYTES |  | ADDRESS      |               |_______/______|   I/O     |
  1338.     | | RAM   |  |  A8-A15      |   (ADDRESS)   | <>           |   PORT    |
  1339.     | | Z0000 |  |___/__________|   (LATCH)     |   ___        |           |
  1340.     | | Z007F |  | >            |               |   BAV Z0113  |   8 PIN   |
  1341.     | |_______|  |     (2)      |   (ADDRESS)   |____/_________|           |
  1342.     |  _______   |     /        |   (BLOCK)     | <>           | (DATA)    |
  1343.     | | 2K    |  | B PORT 4-7   |   (DECODE)    |   ___        | (CONTROL) |
  1344.     | | BYTES |  |________/_____|               |   HSK Z0114  |           |
  1345.     | | ROM   |  | > (ALATCH)   | (I/O CONTROL) |____/_________|           |
  1346.     | | ZF800 |  |   (R/W)      |               | >            |___________| 
  1347.     | | ZFFFF |  |   (ENABLE)   |  (ROM BANK)   |    (5)                  
  1348.     | |_______|  |   (CLKOUT)   |  (CONTROL)    |   /                       
  1349.     |____________|              |               | ADDRESS      ___________  
  1350.                      ROM  ZD000 |  (SYSTEM)     |   A0-A7     | CARTRIDGE | 
  1351.           _________  CTRL ZEFFF |  (SENSE AND)  |____/________|   PORT    | 
  1352.          | SYSTEM  |__/_________|  (CONTROL)    | >           |           | 
  1353.          | ROM 32K |          < |_______________|     ADDRESS |  40 PIN   | 
  1354.          |_________|              |  |  |  |  |       A8-A15  |           | 
  1355.           |   |   |               |  |  |  |  |        (4)    | (ADDRESS) | 
  1356.          (5) (4) (3)  ____ Z0800  |  |  |  |  |          \____| (DATA)    | 
  1357.           _________   RAM0 Z0FFF  |  |  |  |  |             > | (CONTROL) | 
  1358.          | SYSTEM  |___/__________|  |  |  |  | ____ Z9000    |           | 
  1359.          | RAM 2K  | <               |  |  |  | CROM ZCFFF    |           | 
  1360.          |_________|                 |  |  |  |__/____________|           | 
  1361.           |   |   |                  |  |  |                > |           | 
  1362.          (5) (4) (3)                 |  |  | ____ Z5000       |           | 
  1363.                       ____ Z1000     |  |  | CRAM Z8FFF       |           | 
  1364.           _________   RAM1 Z2FFF     |  |  |__________________|           | 
  1365.          | SYSTEM  |___/_____________|  |                   > |           | 
  1366.          | RAM 8K  | <                  |                     |           | 
  1367.          |_________|                    |      ADDRESS/DATA   |           | 
  1368.           |   |   |                     |      AD0-AD7 (3)    |           | 
  1369.          (5) (4) (3)                    |                \____|           | 
  1370.                       ____ Z3000        |                  <> |           | 
  1371.           _________   RAM2 Z4FFF        |                _    |           | 
  1372.          | SYSTEM  |___/________________|    (ALATCH) (R/W)   |           | 
  1373.          | RAM 8K  | <                      (ENABLE) (CLKOUT) |           | 
  1374.          |_________|                                   (2)    |           | 
  1375.           |   |   |                                     \_____|           | 
  1376.          (5) (4) (3)                                        > |___________| 
  1377.  
  1378. =============================================================================
  1379.  
  1380.              OpCodes of the TMS 70C20 Microproccessor.
  1381.  
  1382.  
  1383. 00   NOP           01   IDLE          05   EINT          06   DINT          07   SETC          08   POPST         09   STSP          0A   RETS          0B   RETI          0D   LDSP          0E   PUSHST        12   MOV Rn,A      13   AND Rn,A      14   OR Rn,A       15   XOR Rn,A      16   BTJO Rn,A     17   BTJZ Rn,A     18   ADD Rn,A      19   ADC Rn,A      1A   SUB Rn,A      1B   SBB Rn,A      1C   MPY Rn,A      1D   CMP Rn,A      1E   DAC Rn,A      1F   DSB Rn,A      22   MOV %n,A      23   AND %n,A      24   OR %n,A       25   XOR %n,A      26   BTJO %n,A     27   BTJZ %n,A     28   ADD %n,A      29   ADC %n,A      2A   SUB %n,A      2B   SBB %n,A      2C   MPY %n,A      2D   CMP %n,A      2E   DAC %n,A      2F   DSB %n,A      32   MOV Rn,B      33   AND Rn,B      34   OR Rn,B       35   XOR Rn,B      36   BTJO Rn,B     37   BTJZ Rn,B     38   ADD Rn,B      39   ADC Rn,B      3A   SUB Rn,B      3B   SBB Rn,B      3C   MPY Rn,B      3D   CMP Rn,B      3E   DAC Rn,B      3F   DSB Rn,B      42   MOV Rn,Rn     43   AND Rn,Rn     44   OR Rn,Rn      45   XOR Rn,Rn     46   BTJO Rn,Rn    47   BTJZ Rn,Rn    48   ADD Rn,Rn     49   ADC Rn,Rn     4A   SUB Rn,Rn     4B   SBB Rn,Rn     4C   MPY Rn,Rn     4D   CMP Rn,Rn     4E   DAC Rn,Rn     4F   DSB Rn,Rn     52   MOV %n,B      53   AND %n,B      54   OR %n,B       55   XOR %n,B      56   BTJO %n,B     57   BTJZ %n,B     58   ADD %n,B      59   ADC %n,B      5A   SUB %n,B      5B   SBB %n,B      5C   MPY %n,B      5D   CMP %n,B      5E   DAC %n,B      5F   DSB %n,B      62   MOV B,A       63   AND B,A       64   OR B,A        65   XOR B,A       66   BTJO B,A      67   BTJZ B,A      68   ADD B,A       69   ADC B,A       6A   SUB B,A       6B   SBB B,A       6C   MPY B,A       6D   CMP B,A       6E   DAC B,A       6F   DSB B,A       72   MOV %n,Rn     73   AND %n,Rn     74   OR %n,Rn      75   XOR %n,Rn     76   BTJO %n,Rn    77   BTJZ %n,Rn    78   ADD %n,Rn     79   ADC %n,Rn     7A   SUB %n,Rn     7B   SBB %n,Rn     7C   MPY %n,Rn     7D   CMP %n,Rn     7E   DAC %n,Rn     7F   DSB %n,Rn     80   MOVP Pn,A     82   MOVP A,Pn     83   ANDP A,Pn     84   ORP A,Pn      85   XORP A, Pn    86   BTJOP A,Pn    87   BTJZP A,Pn    88   MOVD %n,Rn    8A   LDA @n        8B   STA @n        8C   BR @n         8D   CMPA @n       8E   CALL @n       91   MOVP Pn,B     92   MOVP B,Pn     93   ANDP B,Pn     94   ORP B,Pn      95   XORP B,Pn     96   BTJOP B,Pn    97   BTJZP B,Pn    98   MOVD Rn,Rn    9A   LDA *Rn       9B   STA *Rn       9C   BR *Rn        9D   CMPA *Rn      9E   CALL *Rn      A2   MOVP %n,Pn    A3   ANDP %n,Pn    A4   ORP %n,Pn     A5   XORP %n,Pn    A6   BTJOP %n,Pn   A7   BTJZP %n,Pn   A8   MOVD %n(B),Rn AA   LDA @n(B)     AB   STA @n(B)     AC   BR @n(B)      AD   CMPA @n(B)    AE   CALL @n(B)    B0   TSTA/CLRC     B2   DEC A         B3   INC A         B4   INV A         B5   CLR A         B6   XCHB A        B7   SWAP A        B8   PUSH A        B9   POP A         BA   DJNZ A        BB   DECD A        BC   RR A          BD   RRC A         BE   RL A          BF   RLC A         C0   MOV A,B       C1   TSTB          C2   DEC B         C3   INC B         C4   INV B         C5   CLR B         C6   XCHB B        C7   SWAP B        C8   PUSH B        C9   POP B         CA   DJNZ B        CB   DECD B        CC   RRB           CD   RRC B         CE   RL B          CF   RLC B         D0   MOV A,Rn      D1   MOV B,Rn      D2   DEC Rn        D3   INC Rn        D4   INV Rn        D5   CLR Rn        D6   XCHB Rn       D7   SWAP Rn       D8   PUSH Rn       D9   POP Rn        DA   DJNZ Rn       DB   DECD Rn       DC   RR Rn         DD   RRC Rn        DE   RL Rn         DF   RLC Rn        E0   JMP           E1   JN/JLT        E2   JZ/JEQ        E3   JC/JHS        E4   JP/JGT        E5   JPZ/JGE       E6   JNZ/JNE       E7   JNC/JL        E8   TRAP 23       E9   TRAP 22       EA   TRAP 21       EB   TRAP 20       EC   TRAP 19       ED   TRAP 18       EE   TRAP 17       F0   TRAP 15       F1   TRAP 14       F2   TRAP 13       F3   TRAP 12       F4   TRAP 11       F5   TRAP 10       F6   TRAP 9        F7   TRAP 8        F8   TRAP 7        F9   TRAP 6        FA   TRAP 5        FB   TRAP 4        FC   TRAP 3        FD   TRAP 2        FE   TRAP 1        FF   TRAP 0        FF   TRAP 16        
  1384. ===============================================================================
  1385. C4ICS002
  1386.  
  1387.          The following manual was by Charles Good from a copy he 
  1388.          had received. It contains much good informtion for those 
  1389.          wishing to experiment with the HexBux. 
  1390.  
  1391.  
  1392. ============================================================================== 
  1393.           This is the USER GUIDE to Texas Instruments' never released
  1394.           HexBus interface, model number PHP1300, for the 99/4A.  This
  1395.           device is pictured on the bottom of many boxes that contained
  1396.           beige plastic 99/4A consoles and was designed to allow the 99/4A
  1397.           to use any of TI's HexBus peripherals.  The HexBus interface is
  1398.           described and illustrated in articles contained in the February,
  1399.           March, and August 1983 issues of 99er magazine. 
  1400.  
  1401.           This text is being typed in December 1990 by Charles Good to give
  1402.           the TI community access to this interesting historical curiosity.
  1403.           The Hexbus Interface user guide is dated 1983.  The PHP1300 is
  1404.           listed in TI's last complete official price list, published in
  1405.           June 1983, for $59.95. 
  1406.  
  1407.           Table of contents 
  1408.  
  1409.           SECTION 1.0: INTRODUCTION...........................1 
  1410.               1.1: Features...................................1 
  1411.               1.1.1: Power Jack...............................1 
  1412.               1.1.2: On/Off Switch............................1 
  1413.               1.1.3: Hexbus Connection........................2 
  1414.  
  1415.           SECTION 2.0: SET UP.................................3 
  1416.  
  1417.           SECTION 3.0: USING THE HEXBUS INTERFACE.............5 
  1418.  
  1419.          
  1420.           SECTION 4.0: COMMON PERIPHERALS.....................6 
  1421.           4.1: Wafertape Digital Tape Drive...................6 
  1422.           4.2: Printer/Plotter................................6 
  1423.           4.3: The RS232 interface............................6 
  1424.           4.4: The Centronix Type Parallel Output.............6 
  1425.            
  1426.           SECTION 5.0: COMMANDS AND PROGRAMMING STATEMENTS....7 
  1427.           5.1: The OLD command................................8 
  1428.           5.2: The SAVE command...............................9 
  1429.           5.3: The OPEN statement............................10 
  1430.           5.4: The CLOSE statement...........................11 
  1431.           5.5: The DELETE statement..........................12 
  1432.           5.6: The RESTORE statement.........................13 
  1433.           5.7: The INPUT statement...........................14 
  1434.           5.8: The PRINT statement...........................15 
  1435.           5.9: The LIST statement............................16 
  1436.           5.10: The EOF function.............................17 
  1437.           5.11: The VERIFY command...........................18 
  1438.           5.12: The FORMAT MEDIA command.....................19 
  1439.           5.13: The CATALOG command..........................20 
  1440.           5.14: The RESET BUS command........................21 
  1441.             
  1442.           APPENDIX A- Transferring data between wafertape and diskette..22 
  1443.            
  1444.           APPENDIX B- Transferring raw data over the Hexbus.............23 
  1445.            
  1446.           APPENDIX C- Using the TI-99/4A as a slave device..............26 
  1447.            
  1448.           APPENDIX D- Error messages and codes..........................27 
  1449.            
  1450.           SERVICE INFORMATION...........................................29 
  1451.           In case of difficulty.........................................29 
  1452.            
  1453.           THREE MONTH LIMITED WARRANTY..................................30 
  1454.           HOME COMPUTER SOFTWARE MEDIA..................................30 
  1455.           Warranty coverage.............................................30 
  1456.           Warranty duration.............................................30 
  1457.           Warranty disclaimers..........................................31 
  1458.           Legal remedies................................................31 
  1459.           Performance by TI Under Warranty..............................31 
  1460.           Texas Instruments Consumer Service facilities.................31 
  1461.           Inportant notice of disclaimer regarding the programs.........31 
  1462.             
  1463.      SECTION 1.0: INTRODUCTION 
  1464.            
  1465.           The Hexbus interface is an efficient, versatile device which enables
  1466.      you to use the low cost hexbus peripherals (sold separately) with the
  1467.      powerful TI99/4A Home Computer.  The Hexbus Interface allows you much more
  1468.      freedom in tailoring your computer system to your own needs. 
  1469.  
  1470.           You can also use the Hexbus Interface to transfer data between a
  1471.      Compact Computer 40 Wafertape and a Disk memory System connected to a
  1472.      TI-99/4A.  Information stored by a Compact Computer 40 can then be used by
  1473.      a large non-protable computer system. 
  1474.       
  1475.      1.1: FEATURES 
  1476.           The TI Hexbus Interface is a lightweight, compact unit designed to
  1477.      rest beside the Home Computer console.  The male  44 pin connector on the
  1478.      left side of the Interface plugs directly into the slot on the right side
  1479.      of a Home Computer console.  If your system includes a Speech synthesizer
  1480.      or a stand alone Memory Expansion Peripheral, these units go between the
  1481.      console and the hexbus interface.  The 44 pin slot on the right side of
  1482.      the hexbus Interface allows you to attach the flex cable of a Peripheral
  1483.      Expansion System if you desire. 
  1484.       
  1485.      1.1.1: POWER JACK 
  1486.           On the back of the Hexbus Interface is a power plug.  The
  1487.      accompanying transformer allows you to use household current to power your
  1488.      Hexbus Interface.  The transformer which was sold with the hexbus
  1489.      Interface is the ONLY transformer which should be used with the unit.
  1490.      Although most transformers seem identical and have similar plugs, certain
  1491.      internal differences could cause a transformer from another device to
  1492.      cause damage to the hexbus Interface or to the transformer itself. 
  1493.       
  1494.      1.1.2: ONN/OFF SWITCH 
  1495.           The onn/off switch is a sliding switch located on the back of the
  1496.      unit, between the power jack and the 8-pin Hexbus connection.  To turn the
  1497.      unit on slide the switch to the left, towards the power jack.  To turn the
  1498.      unit off slide thw switch to the right, towards the hexbus connection 
  1499.       
  1500.      page 1
  1501.        
  1502.      1.1.3: HEXBUS CONNECTION 
  1503.           Also on the back of the unit is the hexbus connection.  This 8 pin
  1504.      standard connector allows you to attach any of several peripheral devices
  1505.      or any Hexbus compatible computer to your TI-99/4A Home Computer, using
  1506.      the cables included with the various peripherals. 
  1507.             
  1508.      page 2
  1509.        
  1510.      SECTION 2.0: SET UP 
  1511.       
  1512.           Setting up the hexbus interface is a simple process, but you should
  1513.      be aware of several precautions.  Please read this entire section before
  1514.      you set up your hexbus Interface. 
  1515.           When you unpack the Hexbus Interface, you should find the Hexbus
  1516.      ZInterface itself, a power transformer, and an eight conductor cable, as
  1517.      well as this manual and other brochures.  This is all you need to set up
  1518.      your hexbus Interface with your TI-99/4A. (Save the packing material for
  1519.      storing or transporting the interface.) 
  1520.       
  1521.           1.  If other peripherals are already connected to the TI Home
  1522.           computer, wait for their activity to stop, then turn them off. 
  1523.            
  1524.           2.  Turn off the computer.  CAUTION: The electronic components of
  1525.           the Hexbus Interface can be damaged by discharges of static
  1526.           electricity.  To avoid damage, do not touch the connector
  1527.           contacts or expose them to static electricity. 
  1528.            
  1529.           3.  Be certain that the Hexbus Interface is turned off (the power
  1530.           switch on the back is pushed toward the rectangular connector).
  1531.           Plug the round power plug into the power jack. 
  1532.            
  1533.           4.  Plug one end of the flat gray cable into the Hexbus
  1534.           connector.  Note that the connector is keyed and can only be
  1535.           plugged in one way: with the raised tab on the top.  Be careful
  1536.           to plug the connector on both row of pins, not just the top row. 
  1537.            
  1538.           5.  Plug the Hexbus Interface into the slot on the right side of
  1539.           the TI/99/4A console.  If your system includes a Speech
  1540.           synthesizer or a memory Expansion Peripheral, these should be
  1541.           between the console and the hexbus Interface.  If you also have a
  1542.           Peripheral Expansion system, the black flex cable plugs into the
  1543.           slot on the right side of the hexbus Interface. 
  1544.            
  1545.           6.  Plug the power transformer into a standard 110 volt household
  1546.           plug. 
  1547.            
  1548.           7.  If the hexbus peripherals which you will be using with your
  1549.           TI-99/4A are not already set up, unpack each peripheral (sold
  1550.           separately) and attach them as described in the owner's manual
  1551.           for that peripheral.  Plug the other end of the Hexbus cable from
  1552.           the hexcbus interface into a free connector of a Hexbus
  1553.           peripheral.  Peripherals are normally arranged in a stack next to
  1554.           the computer.  You may link Hexbus devices to the computer in any
  1555.           order. 
  1556.       
  1557.      page 3
  1558.             
  1559.           CAUTION: To prevent damage to your system, make a practice of
  1560.           disconnecting all devices before moving any part of the Hexbus
  1561.           system.  Even though the peripherals are light, the cables and
  1562.           connectors may undergo needless strain if not detached.  For
  1563.           transport over long distances, repack the system in its original
  1564.           packing materials. 
  1565.            
  1566.           8.  Once all the hexbus peripherals are connected both to power
  1567.           and to the hexbus Interface or to a Hexbus compatible peripheral,
  1568.           ytou are ready to test your system.  Turn the system on beginning
  1569.           with the peripherals furthest from the console.  The last thing
  1570.           you should turn on is the console itself. 
  1571.            
  1572.           9.  The monitor or television should display the master title
  1573.           screen.  Some peripherals have small indicator lights on the
  1574.           front.  While watching the indicator lights on the Hexbus
  1575.           peripherals, press QUIT.  The light on each Hexbus peripheral
  1576.           should flash briefly and go off.  This shows that the hexbus
  1577.           Interface is properly connected to each of the peripheral
  1578.           devices.  If each light does not flash, turn off the console and
  1579.           peripherals.  Check the cable connections.  then begin again with
  1580.           step 8.  If the lights still do not flash, see the "in Case of
  1581.           Difficulty" section. 
  1582.            
  1583.           10. At this time, you may perform any of the tests suggested in
  1584.           the individual peripheral manuals which are allowable BASIC
  1585.           statements. (Note that the CALL IO statement does not work on the
  1586.           TI-994A.  any tests using this statement will not work. 
  1587.       
  1588.      page 4
  1589.             
  1590.      SECTION 3.0: USING THE HEXBUS INTERFACE 
  1591.       
  1592.           With the hexbus interface attached to your TI Home Computer, you can
  1593.      use any of the low cost, lightweight Hexbus peripherals.  The Hexbus
  1594.      interface recognizes command in BASIC, EXTENDED BASIC Assembly Language,
  1595.      and Graphics Programming Language.  Like any other peripheral device used
  1596.      by the TI-99/4A, you must request a hexbus device to perform a certain
  1597.      task.  before the device can complete a request, in most cases the
  1598.      computer must first set up a section of memory to communicate the device.
  1599.      To do this, you must "open" the device.  The general syntax of an OPEN
  1600.      statement for a Hexbus divice in TI-99/4A BASIC is: 
  1601.       
  1602.      OPEN #file-number: "HEXBUS.device-number[.option-string]"[,access mode] 
  1603.       
  1604.           The file-number, the word HEXBUS, and the device-number must be
  1605.      included in the OPEN statement.  Depending on the peripheral and its
  1606.      settings, you may want to include additional information to describe the
  1607.      task you want to perform.  all of the optional information is described in
  1608.      detail in the user's manual of the particular peripheral device. 
  1609.           A device number is used to identify a particular device.  The
  1610.      allowable device numbers are:
  1611.  
  1612.      DEVICE NUMBER | DEVICE
  1613.      --------------|--------------------------------------
  1614.             0      | All devices
  1615.           1-8      | HX2000 Wafertape Digital Tape Drive
  1616.          10-11     | HX1000 Printer/Plotter
  1617.          16-17     | HX1010 Printer 80
  1618.          20-23     | HX3000 RS232C Interface
  1619.             40     | HX1100 Video Interface
  1620.          50-53     | Centronix Type Parallel Output
  1621.          60-67     | Calculator or Home Computer in Slave Mode
  1622.             70     | HX3100 Hexbus modem  
  1623.       
  1624.      page 5
  1625.        
  1626.      SECTION 4.0: COMMON PERIPHERALS 
  1627.       
  1628.      4.1: Wafertape Ditital Taoe Drive 
  1629.           The Texas Instruments Wafertape drive is a versatile, efficient, and
  1630.      compact information storage device.  The Wafertape drive enables you to
  1631.      store, retrieve, and update programs and data quickly and accurately with
  1632.      simple commands from the computer console.  Information is stored on a
  1633.      continuous tape housed in a slim cartridge called a wafer 
  1634.       
  1635.      4.2: Printer/Plotter 
  1636.           The printer/plotter is a Hexbus compatible printing device which uses
  1637.      four colored pens to print both text and graphics.  This printer enables
  1638.      you to create attractive and precise graphics in up to four different
  1639.      colors.  It does not require the use of an RS232 Interface. 
  1640.       
  1641.      4.3: The RS232 Interface 
  1642.           The RS232 Interface peripheral is a communications adapter that
  1643.      broadens the range of devices which you can attach to your TI-99/4A using
  1644.      the TI Hexbus Interface.  The RS232 Interface offers a serial port to
  1645.      attach modems, plotters, and other devices which follow the EIA RS232C
  1646.      serial interface specification.  You can also use any cartridge, such as
  1647.      the Terminal Emulator II, which requires the RS232 interface as long as
  1648.      you do not have another RS232 Interface attached to your TI-99/4A. 
  1649.       
  1650.      4.4: The Centronix Type Parallel Output 
  1651.           The Centronix Type Parallel output is an optional port which can, at
  1652.      a slight additional charge, be added to the RS232 Interface.  This
  1653.      optional parallel port enables you to use one of the many popular computer
  1654.      printers built for parallel interfacing. 
  1655.       
  1656.      page 6
  1657.        
  1658.      SECTION 5.0: COMMANDS AND PROGRAMMING STATEMENTS 
  1659.       
  1660.           The commands which you can use with TI BASIC and the hexbus
  1661.      peripherals include the OLD, SAVE, OPEN, CLOSE, DELETE, RESTORE, INPUT,
  1662.      PRINT, LIST, and EOF commands.  Three commands not found in standard TI
  1663.      BASIC are used with the Wafertape drive and require a special syntax - the
  1664.      VERIFY, FORMAT MEDIA, and CATALOG commands.  TI Extended Basic, available
  1665.      as a plug-in cartridge for the TI-99/4A, also allows you to use the LINPUT
  1666.      COMMAND.  The RESET BUS command enables you to reset the status of all
  1667.      Hexbus devices at once.  Several special functions of the hexbus
  1668.      Interface, the ability to transfer raw data and the ability to put the
  1669.      Home Computer under the control of another Hexbus compatible computer, are
  1670.      discussed in the appendices. 
  1671.       
  1672.           Not all commands are usable by all peripherals (you would not, for
  1673.      example, get an INPUT from a Printer/Plotter).  Some peripherals, such as
  1674.      the Wafertape drive, have special commands.  The allowable commands used
  1675.      by each peripheral are explained in detail in the user's manual which
  1676.      accompanies each device.  The following sections describe the commands
  1677.      available in TI BASIC 
  1678.       
  1679.      page 7
  1680.        
  1681.      5.1: The OLD command 
  1682.       
  1683.      OLD HEXBUS.device code.filename 
  1684.       
  1685.           The OLD command allows you to recall and use a program previously
  1686.      stored on a mass storage device such as the Wafertape device. 
  1687.       
  1688.      Example: 
  1689.       
  1690.      OLD HEXBUS.1.PROGRAM1 
  1691.       
  1692.           This statement recalls the program stored on the Wafertape device
  1693.      under the name PROGRAM1.  This program can now be run. 
  1694.       
  1695.      page 8
  1696.        
  1697.      5.2 The SAVE command 
  1698.       
  1699.      SAVE HEXBUS.DEVICE CODE.FILENAME 
  1700.       
  1701.           The SAVE command allows you to store a program on a mass storage
  1702.      device such as as the Wafertape drive.  Before you save any information on
  1703.      a mass storage device, though, the device must be prepared to accept the
  1704.      information - a Wafertape must be FORMATTED. 
  1705.       
  1706.      Example: 
  1707.       
  1708.      SAVE HEXBUS.1.PROGRAM1 
  1709.       
  1710.           This statement saves the current program on the Wafertape device
  1711.      under the name PROGRAM1. 
  1712.       
  1713.      page 9 
  1714.        
  1715.      5.3 The OPEN statement 
  1716.       
  1717.      OPEN #file-number:"HEXBUS.device dode[.option string]"[,file attributes] 
  1718.       
  1719.      Example: 
  1720.       
  1721.      100 OPEN #1: "HEXBUS.1.MYDATA",SEQUENTIAL, VARIABLE 255 
  1722.       
  1723.           This opens the Wafertape file named MYDATA as  file 1 under the
  1724.      device code of 1. (The device code of a Wafertape drive is determined by a
  1725.      switch set on the back of the drive, as explained in the Wafertape user's
  1726.      manual.)  This file was previously created and stored.  The file is opened
  1727.      by default in DISPLAY format and UPDATE mode; you can read from this file,
  1728.      and if it is the last file on the tape, you can also write to it.
  1729.      VARIABLE 255 sets the record length to 255 characters, the maximum
  1730.      allowable record on the TI-99/4A. 
  1731.       
  1732.      page 10 
  1733.        
  1734.      5.4: The CLOSE statement 
  1735.       
  1736.      CLOSE #file-number[,DELETE] 
  1737.       
  1738.      Example: 
  1739.       
  1740.      200 CLOSE #1 
  1741.      210 CLOSE #2,DELETE 
  1742.       
  1743.           This closes the file previously opened as number 1.  The file opened
  1744.      as #2 is closed and deleted - you can no longer use the information stored
  1745.      in that file.  Unless all files which were opened are also closed, the
  1746.      program or data may be lost.  DELETE may also be used as a separate
  1747.      command to delete a file previously stored on a mass storage device. 
  1748.       
  1749.      page 11 
  1750.        
  1751.  
  1752.  
  1753.      5.5: The DELETE statement 
  1754.       
  1755.      DELETE "HEXBUS.device code.file name" 
  1756.       
  1757.      Example: 
  1758.       
  1759.      140 DELETE "HEXBUS.1.MYFILE" 
  1760.       
  1761.           This statement scratches the file called MYFILE from a Wafertape.  If
  1762.      the file is open, the statement will both delete and close the file.  If
  1763.      the file is not opened, the statement simply deletes the file.  You can
  1764.      also delete an opened file by adding the word DELETE to a CLOSE statement. 
  1765.       
  1766.      page 12 
  1767.        
  1768.      5.6: The RESTORE statement 
  1769.       
  1770.      RESTORE #file-number 
  1771.       
  1772.      Example: 
  1773.       
  1774.      190 RESTORE #1 
  1775.       
  1776.           This command positions a file opened as #1 to the first record.  This
  1777.      allows you to go back to the beginning of a file without closing the file
  1778.      and opening it again. 
  1779.       
  1780.      page 13 
  1781.        
  1782.      5.7: The INPUT statement 
  1783.       
  1784.      INPUT #file-number:variable list 
  1785.       
  1786.      Example: 
  1787.       
  1788.      120 INPUT #1:A,B,C 
  1789.       
  1790.          This statement reads three numeric values from the file previously
  1791.      opened as file number 1, and stores the values in the variables A, B, and
  1792.      C.  In this way, information stored by a TI-99/2 computer may be used by a
  1793.      TI-99/4A Home computer 
  1794.       
  1795.      page 14 
  1796.        
  1797.      5.8: The PRINT statement 
  1798.       
  1799.      PRINT #file-number:print list 
  1800.       
  1801.      Example: 
  1802.       
  1803.      140 PRINT #2: "Current Balance",CURRBAL 
  1804.       
  1805.           This statement prints the text Current Balance and the value
  1806.      contained in the variable CURRBAL to a file opened as #2.  When used
  1807.      without a file number, the PRINT statement places data in the computer
  1808.      display. 
  1809.       
  1810.      page 15 
  1811.        
  1812.      5.9: The LIST statement 
  1813.       
  1814.      LIST "HEXBUS.device code[.switch-options]"[,line-list] 
  1815.       
  1816.      Example: 
  1817.       
  1818.      LIST "HEXBUS.20.BA=9600":"This line is to be printed",A 
  1819.       
  1820.           this example assumes a printer set to a transmission (baud) rate of
  1821.      9600 is attached to the RS232 Interface.  This statement will cause the
  1822.      line of text enclosed in quotation marks to be printed along with the
  1823.      value of the variable A. 
  1824.       
  1825.      page 16 
  1826.        
  1827.      5.10: The EOF function 
  1828.       
  1829.      EOF file-number 
  1830.       
  1831.           The EOF (end of file) function examines a previously opened data file
  1832.      and returns a value which indicates where you are in the file.  A zero
  1833.      indicates that you are not to the end of the file; a negative one
  1834.      indicates that you have reached the end of the file. 
  1835.       
  1836.      Example: 
  1837.       
  1838.      150 IF EOF(1) THEN 220 
  1839.       
  1840.           This statement will transfer program control to line 220 when the end
  1841.      of the file opened as #1 is reached; otherwise program control will
  1842.      continue to the next line. 
  1843.       
  1844.      Example: 
  1845.       
  1846.      145 PRINT EOF(1) 
  1847.       
  1848.           This statement causes the value 0 or -1 to be displayed, depending on
  1849.      whether you are at the end of the file opened as #1. 
  1850.       
  1851.      page 17 
  1852.        
  1853.      5.11: The VERIFY command 
  1854.       
  1855.      SAVE HEXBUS.VE.device code.filename 
  1856.       
  1857.           The VERIFY command is uysed with a SAVE command to verify that the
  1858.      information on the mass storage device is the same as the information in
  1859.      the computer's memory.  if there is a difference, an error is returned and
  1860.      you may perform the SAVE command again.  The VERIFY statement should be
  1861.      used immediately after a SAVE command. 
  1862.       
  1863.      Example: 
  1864.       
  1865.      SAVE HEXBUS.1.PROGRAM1 
  1866.       
  1867.      SAVE HEXBUS.VE.1.PROGRAM1 
  1868.       
  1869.           The VERIFY statement, when paired with the SAVE command, will verify
  1870.      that the information transferred between the computer's memory and a mass
  1871.      storage device is accurate. 
  1872.       
  1873.      page 18 
  1874.        
  1875.      5.12: The FORMAT MEDIA command 
  1876.       
  1877.      OPEN #file-number:"HEXBUS.FORMAT MEDIA.device code" 
  1878.       
  1879.           The FORMAT MEDIA command will prepare the mass storage media of the
  1880.      Wafertape device to accept information to be stored.  The FORMAT MEDIA
  1881.      command must be used before any information is stored on the Wafertape
  1882.      device; if the command is issued later, any information stored on that
  1883.      tape is lost.  The FORMAT MEDIA command is explained in greater detail in
  1884.      the Wafertape User's Manual. 
  1885.       
  1886.      Example: 
  1887.       
  1888.      OPEN #1:"HEXBUS.FORMAT MEDIA.1" 
  1889.      CLOSE #1 
  1890.       
  1891.      page 19 
  1892.        
  1893.      5.13: The CATALOG command 
  1894.       
  1895.           The CATALOG command produces the directory information from a
  1896.      Wafertape device.  This information, however, is in a form which is
  1897.      difficult to display.  The following program allows you to read the
  1898.      directory from a Wafertape device: 
  1899.       
  1900.      100 CALL CLEAR 
  1901.      110 PRINT "FILE_NAME   MAX_L REC_# FLG" 
  1902.      120 PRINT 
  1903.      130 OPEN #1:"HEXBUS.CA.1",FIXED 18,INPUT 
  1904.      140 INPUT #1:A$ 
  1905.      150 PRINT TAB(1);SEG$(A$,2,12); 
  1906.      160 A1=ASC(SEG$(A$,14,1)) 
  1907.      170 A2=ASC(SEG$(A$,15,1)) 
  1908.      180 PRINT TAB(13);A2*256+A1; 
  1909.      190 A1=ASC(SEG$(A$,16,1)) 
  1910.      200 A2=ASC(SEG$(A$,17,1)) 
  1911.      210 PRINT TAB(19);A2*256+A1 
  1912.      220 A1=ASC(SEG$(A$,18,1)) 
  1913.      230 ACTIVE$="N" 
  1914.      240 LAST$="N" 
  1915.      250 INTERNAL$="D" 
  1916.      260 IF A1<128 THEN 290 
  1917.      270 A1=A1-128 
  1918.      280 ACTIVE$="A" 
  1919.      290 IF A1<16 THEN 320
  1920.      300 A1=A1-64 
  1921.      310 LAST$="Y" 
  1922.      320 IF A1<16 THEN 340 
  1923.      330 INTERNAL$="I" 
  1924.      340 PRINT TAB(26);ACTIVE$;INTERNAL$ 
  1925.      350 IF LAST$="N" THEN 140 
  1926.      360 END 
  1927.       
  1928.      page 20 
  1929.        
  1930.      5.14: The RESET BUS command 
  1931.       
  1932.           At certain times, you might find it convenient to be able to reset
  1933.      all files by clearing the communication lines.  This is a good practice if
  1934.      a program which opened a mass storage device such as the Wafertape device
  1935.      ended in an error.  To reset the communications lines, type: 
  1936.       
  1937.      OPEN #1:"HEXBUS.RB.0" 
  1938.      CLOSE #1 
  1939.       
  1940.           The two commands will tell each of the peripherals attached to the
  1941.      Hexbus Interface to reset its status to closed.  As the first of these
  1942.      statements is executed, the indicator light on each of the peripherals
  1943.      will flash on and then go off. 
  1944.       
  1945.      page 21 
  1946.        
  1947.      APPENDIX A- TRANSFERRING DATA BETWEEN WAFERTAPE AND DISKETTE 
  1948.       
  1949.           Data stored on a Wafertape device can be used directly by a Home
  1950.      Computer and stored on a diskette using the Disk Memory System (sold
  1951.      separately).  Data stored on a diskette as a SEQUENTIAL file can also be
  1952.      transferred without change to the Wafertape media.  The information
  1953.      contained in a RELATIVE file can be input from a diskette but only stored
  1954.      on the Wafertape device as a SEQUENTIAL file. 
  1955.       
  1956.          The following program reads data from a Wafertape device, displays the
  1957.      data on the screen, and then stores it on a diskette.  It then closes all
  1958.      files, reopens the diskette file, and reads and displays the data stored
  1959.      on the diskette file. 
  1960.       
  1961.      100 OPEN #1:"HEXBUS.1.DATA",INPUT 
  1962.      110 OPEN #2:"DSK1.NEWDATA" 
  1963.      120 IF EOF(1) THEN 170 
  1964.      130 INPUT #1:VALUE$ 
  1965.      140 PRINT #2:VALUE$ 
  1966.      150 DISPLAY VALUE$:::: 
  1967.      160 GOTO 120 
  1968.      170 CLOSE #1 
  1969.      180 CLOSE #2 
  1970.      190 OPEN #3:"DSK1.NEWDATA" 
  1971.      200 IF EOF(3) THEN 230 
  1972.      210 INPUT #3:VALUE$ 
  1973.      230 DISPLAY VALUE$:::: 
  1974.      230 GOTO 200 
  1975.      240 CLOSE #3 
  1976.       
  1977.           NOTE: If the data was stored by a TI-99/2 computer on a wafertape
  1978.      device, the computer assumes that the longest record could be 255
  1979.      characters.  The TI-99/4A Home Computer, however, assumes a maximum length
  1980.      of only 80 characters.  Be sure, when you go from computer to computer, to
  1981.      explicitly declare the longer of the two lengths. 
  1982.       
  1983.      page 22 
  1984.        
  1985.  
  1986.  
  1987.      APPENDIX B- TRANSFERRING RAW DATA OVER THE HEXBUS 
  1988.       
  1989.           In certain special purpose applications the TI-99/4A might need to
  1990.      interface with a peripheral which does not support all of the commands
  1991.      usually found in a Hexbus peripheral.  To do this, the TI-99/4A must be
  1992.      able to transfer information at the byte level - in the acutal 0s  and 1s
  1993.      of the machine language.  This allows a user to control the hexbus
  1994.      Interface and a peripheral directly, without letting the Hexbus Interface
  1995.      interpret the signals automatically. 
  1996.       
  1997.           When transferring raw data over the Hexbus Interface, you must send a
  1998.      COMMAND MESSAGE and then interpret the response from the peripheral.  A
  1999.      command message must contain all the following information in the order
  2000.      given: 
  2001.       
  2002.                          FIELD NAME     NUMBER OF BYTES
  2003.                          Device Number  1
  2004.                          Command Code   1
  2005.                          File Number    1
  2006.                          Record Number  2
  2007.                          Buffer length  2
  2008.                          Data length    2
  2009.                          Data           2
  2010.  
  2011.      page 23
  2012.        
  2013.           The assigned device numbers are listed on page 5.  The command codes
  2014.      which are currently being used by the Hexbus Interface are as follows: 
  2015.  
  2016.                     COMMAND CODE     COMMAND
  2017.                                0     Open
  2018.                                1     Close
  2019.                                2     Delete opened file
  2020.                                3     Read data
  2021.                                4     Write data
  2022.                                5     Restore file
  2023.                                6     Delete file
  2024.                                7     Return status
  2025.                                8     Service request enabled
  2026.                                9     Service request disabled
  2027.                               10     Service request poll
  2028.                               11     You are the master
  2029.                               12     Verify read/write operations
  2030.                               13     Format and certify media
  2031.                               14     Catalog directory
  2032.                               15     Set characteristics
  2033.                              254     Null operation
  2034.                              255     Bus reset 
  2035.       
  2036.      page 24 
  2037.        
  2038.           To transfer raw data between a peripheral and the TI-99/4A, you must
  2039.      use a PRINT statement followed immediately by an INPUT statement.  The
  2040.      PRINT statement sends a command message to the device; the INPUT
  2041.      statement reads information from the device.  Each program should contain
  2042.      at least three pairs of statements - the first to open the device, then as
  2043.      many pairs as needed to use the device, then a pair to close the device.
  2044.      Before the first pair of statements, open the Hexbus Interface itself in
  2045.      the TRANSFER RAW data mode.  Be sure to close the Hexbus after you close
  2046.      the device. 
  2047.       
  2048.           The following partial program illustrates the use of the TRANSFER RAW
  2049.      data feature.  Line 200 opens the Hexbus Interface itself.  lines 260
  2050.      through 290 build up a command message which is transmitted in line 300.
  2051.      Line 310 accepts information from the RS232.  Lines 350 and 360 show pairs
  2052.      of lines which transmit commands to the RS232 and accept information in
  2053.      return.  The values of the character strings C$ and D$ must already have
  2054.      been built up similar to the way the strings A$ and B$ were made. 
  2055.       
  2056.      200 OPEN #1:"HEXBUS.TR" 
  2057.          . 
  2058.          . 
  2059.          . 
  2060.      260 Z$=CHR$(0) 
  2061.      270 ZZ$=Z$&Z$ 
  2062.      280 A$=CHR$(20)&ZZ$&CHR$(4)&Z$&CHR$(3)&Z$ 
  2063.      290 A$+A$&ZZ$&CHR$(192) 
  2064.      300 PRINT #1:A$ :: REM OEPN RS232 
  2065.      310 INPUT #1:B$ 
  2066.          . 
  2067.          . 
  2068.          . 
  2069.      350 PRINT #1:C$ :: REM WRITE TO DEVICE 
  2070.      360 INPUT #1:D$ 
  2071.          . 
  2072.          . 
  2073.          . 
  2074.      500 CLOSE #1 
  2075.       
  2076.      page 25 
  2077.        
  2078.      APPENDIX C- USING THE TI-99/4A AS A SLAVE DEVICE 
  2079.       
  2080.           Normally the TI-99/4A acts as the controlling, or master, device.
  2081.      All peripheral devices attached to the computer are tyically slave
  2082.      devices, following the commands given by the TI-99/4A.  If you have both a
  2083.      TI-99/4A abd a Compact Computer 40, you can cause the CC40 to control the
  2084.      TI-99/4A as a slave device.  In this way, for example, you could display
  2085.      information on the screen attached to the TI-99/4A. 
  2086.       
  2087.           In order to control the TI-99/4A as a slave device, you must first
  2088.      open the computer as a slave device.  To get the computer to act upon
  2089.      instructions given it by a CC40, it must obtain instructions and then
  2090.      reply to them.  It does this by a pair of INPUT and PRINT statements.  You
  2091.      may take the TI-99/4A out of slave mode by closing the file where the
  2092.      computer was declared a slave device. 
  2093.       
  2094.           The following partial program demonstrates how to use the TI-99/4A as
  2095.      a slave device: 
  2096.       
  2097.      100 OPEN #1:"HEXBUS.SL.61" 
  2098.      110 . 
  2099.          . 
  2100.          . 
  2101.      300 INPUT #1:A$ 
  2102.      305 REM PRINT EACH BYTE ON THE SCREEN 
  2103.      310 FOR I=1 TO LEN(A$) 
  2104.      320 PRINT ASC(SEG$(A$,1,I)) 
  2105.      330 NEXT I 
  2106.          . 
  2107.          . 
  2108.          (analyze A$ using the command message discussed in Appendix B) 
  2109.          (packing responding message in B$) 
  2110.          . 
  2111.          . 
  2112.      400 PRINT #1:B$ 
  2113.          . 
  2114.          . 
  2115.          (more INPUT and PRINT pairs) 
  2116.          . 
  2117.          . 
  2118.      500 CLOSE #1 
  2119.       
  2120.      page 26 
  2121.        
  2122.      APPENDIX D- ERROR MESSAGES AND CODES
  2123.  
  2124.                         Error Messages
  2125.                     -----------------------
  2126.                     99/4A|
  2127.                     Error|
  2128.                     Code |  Error Type
  2129.                     ------------------------
  2130.                       0  |No error
  2131.                       1  |Write protected
  2132.                       2  |Bad open attribute
  2133.                       3  |Illegal operation
  2134.                       4  |Out of table/buffer space
  2135.                       5  |Attempt to read past EOF
  2136.                       6  |Hardware error
  2137.                       7  |File errors
  2138.       
  2139.      page 27 
  2140.        
  2141.      The Hexbus Interface, however, recognizes many more error conditions. The
  2142.      following Hexbus errors will display as the corresponding TI-99/4A error.
  2143.       
  2144.        99/4A   |   Hexbus  |
  2145.      Error Code| Error Code|Error Type
  2146.      --------------------------------------------------------------------------
  2147.          0     |      0    |No error
  2148.          2     |      1    |Device/file characteristics
  2149.          2     |      2    |Attribute error
  2150.          7     |      3    |File not found
  2151.          7     |      4    |File/device not open
  2152.          7     |      5    |File/device already open
  2153.          6     |      6    |Device error
  2154.          5     |      7    |EOF error
  2155.          7     |      8    |Data/file too long
  2156.          1     |      9    |Write protect error
  2157.                |     10    |"It was not me", a reply from a peripheral
  2158.                |           |     device to a controlling device
  2159.          4     |     11    |Directory full
  2160.          4     |     12    |Buffer size error
  2161.          3     |     13    |Command not supported
  2162.          3     |     14    |File not opened for write
  2163.          3     |     15    |File not opened for read
  2164.          6     |     16    |Data error (checksum)
  2165.          2     |     17    |Relative file not supported
  2166.          2     |     18    |Sequential file not supported
  2167.          2     |     19    |Append mode not supported
  2168.          2     |     20    |Output mode not supported
  2169.          2     |     21    |Input mode not supported
  2170.          2     |     22    |Update mode not supported
  2171.          2     |     23    |Error internal/display type
  2172.          6     |     24    |Verify error
  2173.          6     |     25    |Low battery in device
  2174.          6     |     26    |Media not initialized
  2175.          6     |     27    |Peripheral buss error
  2176.          4     |     32    |Media full
  2177.          3     |    254    |Illegal command in slave mode
  2178.          6     |    255    |Bus time-out
  2179.          7     |           |All other errors
  2180.       
  2181.      page 28 
  2182.        
  2183.      SERVICE INFORMATION 
  2184.       
  2185.      IN CASE OF DIFFICULTY 
  2186.       
  2187.           If the Hexbus Interface soes not appear to be working properly, check
  2188.      the following: 
  2189.  
  2190.      1.  Power: Be sure the power switch is on (pushed towards the power jack),
  2191.      and the power jack is plugged into the back of the device, and the
  2192.      transformer is plugged into a working electrical outlet. 
  2193.       
  2194.      2.  Cables:  Check that the proper cables are being used.  Check for loose
  2195.      or broken leads and connectors.  Be sure that the cables are plugged in
  2196.      securely.  be sure the hexbus cables are pluggen in on both rows of pins
  2197.      and that the raised tab is on top. 
  2198.       
  2199.      3.  Software: Be sure all commands and statements are used as described in
  2200.      this manual or in the Basic section of the User's Reference Guide. 
  2201.       
  2202.      4.  Computer: Disconnect all peripherals and check to see that the
  2203.      computer works properly with no peripherals attached.  then carefully
  2204.      reconnect each peripheral and check its operation. 
  2205.       
  2206.      5.  If none of the above procedures corrects the difficulty, consult the
  2207.      section entitled "If you have questions or need assistance" or refer to
  2208.      the Service Information portion of the User's Reference Guide. 
  2209.       
  2210.      page 29 
  2211.        
  2212.      The next (last) three pages of this user guide describe the 3 month
  2213.      limited warranty on the Hexbus Interface.
  2214.  
  2215.  
  2216.  
  2217. ===========================================================================
  2218. C4ICS003
  2219.                  USING CC-40 PERIPHERALS WITH THE TI-74
  2220.                            By Maurice Swinnen
  2221.  
  2222.  
  2223.             ______                           A  B____C D
  2224. ____________|    |____________               ____|  |____
  2225. |o  o  o  o  o  o  o  o  o  o|               |o  o  o  o|
  2226. ------------------------------               |o  o  o  o|
  2227. 10  9  8  7  6  5  4  3  2  1                ------------
  2228.       (Read view TI-74)                       E  F  G  H
  2229.  
  2230. In spite of reports to the contrary, it is possable to use all of the CC-40
  2231. peripherals with the TI-74. All you need is a special interconnecting cable.
  2232. The connections have been kept a deep secret by certain interested parties.
  2233. Experimentation revealed the following:
  2234.  
  2235. The TI-74 has a 10-pin connector as show above. Diameter of the pins is 0.016"
  2236. or 0.4mm. Distance between pins is 0.1" or 2.54mm. Does that ring a bell? Of
  2237. course it does! This is the same distance and diameter used with ICs and its
  2238. inline dip-sockets. The connector on the TI-74 uses only 8 of the 10 pins, pins
  2239. 1 through 8. To make a good female connector for it, simply saw off half of a
  2240. 16-pin dip-socket, preferrable one used for wire-wrap, with long, sturdy wire-
  2241. wrap stems. They allow for neat soldering. If you then shrink enough heat-
  2242. shrinkable tubing around each stem so as to fill up the space between stems, it
  2243. is possible to skrink one, large-diameter piece of heat-shrinkable tubing
  2244. around everything and obtain an almost perfect socket.
  2245.  
  2246. If you prefer to have all ten pins used, cut one side of a 24-pin dip-socket
  2247. and trim off two pins. That will give you a 10-pin socket. You could even
  2248. glue a small hump on the top, to prevent reverse plug-in. (I tried reverse
  2249. plug-in; it doesn't harm anything, but, of course, it doesnt hurt anything
  2250. either.) Editor Two Note: If you are building a cable to run from a TI-74
  2251. peripheral to a CC-40 and you plug in the cable wrong you will send +6 volts
  2252. to the CC-40 and get smoke ( I know I did this ).
  2253.  
  2254. For the HEX-BUS connector you will have to sacrifice a dual-plug HEX-BUS
  2255. cable. Take a long one, cut it in two, and share the other half with a
  2256. friend. When you strip the wires, you will find, or course, 8 of them. All
  2257. will be soldered to corresponding pins on your TI-74 connector, except one,
  2258. the green one. Insulate it, and forget it. Wires are soldered as follows:
  2259.  
  2260. TI-74 connector         HEX-BUS connector       Color
  2261.  
  2262.      1                         D                 Orange
  2263.      2                        N/C
  2264.      3                         C                  Red
  2265.      4                         E                 Brown
  2266.      5                         H                  Blue
  2267.      6                         G                 Black
  2268.      7                         B                 Yellow
  2269.      8                         A                  Grey
  2270.      9                        N/C
  2271.     10                        N/C
  2272.  
  2273. I tried it with the following peripherals with great success: Printer 80,
  2274. RS232 Interface, the Disk Drive and the Printer-Plotter. I tried to have
  2275. one TI-74 talk to one CC-40, without success. The TI-74 is willing, but
  2276. the CC-40 acts finicky and tells me that it memory may be lost. Well...
  2277.  
  2278.  
  2279. ------------------------------------------------------------------------
  2280. C4ICS004 
  2281.  
  2282.        INTERFACE INFORMATION FOR THE TI-74 AND CC-40
  2283.               By B. V. Tachkach of Wahroonga
  2284.                 New South Wales, Australia
  2285.  
  2286.  
  2287. The enlightening discussion of cabling to connect the TI-74 with the
  2288. CC-40 peripherals in V12n3p13 was a little confusing. The numbering
  2289. and lettering of the TI-74 and CC-40 hex bus ports was not consistent
  2290. with the pin numbering used by TI in its various application notes
  2291. and user manuals. In addition some additional information is needed
  2292. for successful use of the CC-40 peripherals with the TI-74, or
  2293. with the CC-40 for that matter.
  2294.  
  2295. RELATIVE PIN POSITION DIAGRAMS
  2296.                                          4  3  2  1
  2297.              ________                       ____
  2298. _____________|      |____________      _____|  |_____
  2299. |  o  o  o  o  o  o  o  o  o  o  |     | o  o  o  o |
  2300. ----------------------------------     | o  o  o  o |
  2301.    1  2  3  4  5  6  7  8  9  10       --------------
  2302.                                          8  7  6  5
  2303.  
  2304.      TI-74 DOCK-BUS INTERFACE          CC-40 HEX-BUS INTERFACE
  2305.  
  2306.  
  2307. DOCK-HEX/BUS INTERFACE CABLE CONNECTIONS
  2308.  
  2309. TI-74 DOCK-BUS CC-40 HEX BUS
  2310.  
  2311. DESCRIPTION SIGNAL PIN SIGNAL PIN
  2312.  
  2313.  
  2314.     DESCRIPTION                        SIGNAL PIN    SIGNAL       PIN
  2315. System power distribution - output       PO    1*
  2316. System power distribution - input        PI    2*
  2317. Data bit - least significant bit         D0    3      D0 Data-LSB   1
  2318. Data bit                                 D1    4      D1 Data       2
  2319. Data bit                                 D2    5      D2 Data       7
  2320. Data bit - most significant bit          D3    6      D3 Data-MSB   8
  2321. Handshake - I/O timing control line      HSK   7      HSK           5
  2322. Bus Available - I/O Tracfic control line BAV   8      BAV           3
  2323. System reset line                        RESET 9*
  2324. Common Ground line                       GND   10     GND           4
  2325.                                                       Protect GND   6*
  2326.  
  2327. NOTES:
  2328.  
  2329. 1. Pin numbers marked with an asterisk are not connected when DOCK-BUS
  2330.    and HEX-BUS are interfaced.
  2331.  
  2332. 2. Caution! Pin #1 of DOCK-BUS is at +6 volts, supplied by the TI-74.
  2333.    Pin #2 is used to supply all DOCK-BUS peripherals from a common
  2334.    power supply. This is not supported by the CC-40 system.
  2335.  
  2336. 3. The Protective Ground (pin #6 of the CC-40 HEX-BUS should not be
  2337.    joined to the floating reference power line (pin #10 of the
  2338.    TI-74 DOCK-BUS)
  2339.  
  2340.  
  2341.  
  2342. DEVICE NUMBERS FOR CC-40 PERIPHERALS
  2343.  
  2344. MODEL           DEVICE                REMARKS              DEVICE NUMBER
  2345.  
  2346. HX-1000        Printer        Plotter Switch Selectable       10 to 11
  2347. HX-1010        Print 80       Internally changed              16 or 17
  2348. HX-2000        Wafertape      Was not released                1 to 7
  2349. HX-3000        RS232 &        Internally Selectable           20 to 23
  2350.                Parallel       Internally Selectable           50 to 53
  2351. QD-01          Disk Drive     by Mechatronics                    8
  2352.  
  2353. DEVICE NUMBERS FOR TI-74 PERIPHERALS
  2354.  
  2355. MODEL           DEVICE                REMARKS              DEVICE NUMBER
  2356.  
  2357.                               Reserved for RESET-ALL             0
  2358. PC-324         Printer                                          12
  2359. QD-02          Disk Drive     by Mechatronics                    8
  2360.  
  2361. Editors Note:
  2362.  
  2363. The TI-74 DOCK-BUS pin assignments are consistent with page 17 of my
  2364. TI-74 BASICALC Technical Data Manual. The CC-40 HEX-BUS pin assignments
  2365. are consistenet with those in my HX-3000 RS232 Users Manual.
  2366. Some of the confusion resulted from Maurice Swinnen's definition of
  2367. the hex-bus interface by "looking into the cable" not by "looking into
  2368. the device". Other information which is helpful in the construction of
  2369. a cable between the TI-74 and a CC-40 peripheral includes the color
  2370. coding of the wiring in a HEX-BUS cable:
  2371.  
  2372. PIN COLOR  PIN COLOR
  2373. 1   Grey   5   Brown
  2374. 2   Yellow 6   Green
  2375. 3   Red    7   Black
  2376. 4   Orange 8   Blue
  2377.  
  2378. Editor Number Two's Notes:
  2379.  
  2380. The above document was typed in by myself from the TI PPC Notes
  2381. newsletter. If anyone finds any errors please leave me a note
  2382. on Delphi (user name EICHER), and I will update the documentation
  2383. and re-upload it. I used this information to interface a Mechatronics
  2384. disk drive designed for the TI-74 to my CC-40.
  2385.  
  2386. V1.0
  2387.  
  2388.  
  2389. ============================================================================
  2390.  
  2391. EDITORS NOTE:  TI NO LONGER HAS ANY OF THIS EQUIPMENT FOR SALE, BUT IT
  2392.            IS HERE FOR REFERENCE MATERIAL.
  2393.  
  2394. =============================================================================
  2395. C4ICS005
  2396.  
  2397. Charles,
  2398.  
  2399. Here are the accessory lists for the TI-CC40 and TI-74 as of July, 27 1994.
  2400. "R" denotes only reconditioned units are available.  Prices do not include
  2401. shipping & handling charges or applicable taxes.  Prices and availability
  2402. may change.  To order, you may call 800-TI-CARES.
  2403.  
  2404. Model CC40
  2405.    Unit Price  Model                       Part Number           Available
  2406.        2.650   MAN CC40                  1052906 0001   5000     Y
  2407.        9.950   BASIC LRN CC40            1055934 0001   5000     Y
  2408.       18.950   AC9201                    1055601 8900   5000     Y
  2409.        1.000   RUBBER FT CC-40           1500348 0003   5000     Y
  2410.        1.450   KYBD O/L ALCC             1054704 0101   5000     Y
  2411.        1.000   REF CARD ALCC             1052904 0001   5000     Y
  2412.       40.000   SS1000 16K RAM            1052914 8900   5000     Y
  2413.       20.000   SS1001 PASCAL             1056638 8900   5000     Y
  2414.       20.000   SS3004 MEMO PROC          1055813 8900   5000     Y
  2415.       20.000   SS3006 FINANCE            1054705 8900   5000     Y
  2416.       20.000   SS3007 ELE ENG            1052924 8900   5000     Y
  2417.       20.000   SS3008 STAT               1054706 8900   5000     Y
  2418.       20.000   SS3009 MATH               1054707 8900   5000     Y
  2419.       20.000   SS3024 GAMES              1054724 8900   5000     Y
  2420.  
  2421. Model TI74
  2422.  
  2423.    Unit Price  Model                       Part Number           Available
  2424.        1.250   DUMMY MOD. TI74           1063002 0039   5000     Y
  2425.        2.550   QR CARD 74                1059857 0001   5000     Y
  2426.        4.600   CARRY CASE 74             1059859 0001   5000     Y
  2427.       18.950   AC9201                    1055601 8900   5000     Y
  2428.        7.950   PA201                     1059137 0001   5000     Y
  2429.        4.000   BATT AAA 4PK              1500165 0006   5000     Y
  2430.        4.000   BATT AAA 4PK              1500165 0006   5000     Y
  2431.       35.000   CASS CABLE-74/95          1060328 0001   5000     Y
  2432.       50.000   8K RAM-74/95              1060297 0001   5000     Y
  2433.       60.000   PCIF 74/95                1065751 0001   5000     Y
  2434.        5.000   CHEM-74                   1062908 0001   5000     R
  2435.        5.000   FIN-74                    1062106 0001   5000     R
  2436.        5.000   MATH-74                   1060308 0001   5000     Y
  2437.        5.000   PASCAL-74                 1060292 0001   5000     R
  2438.        5.000   STAT-74                   1060285 0001   5000     R
  2439.       65.000   74-SYSTEM CASE            1064930 0100   5000     Y
  2440.        5.950   TECH/MANUAL 74            1059853 9000   5200     Y
  2441.        2.500   SCHEMATIC 74              1059853 9900   5200     Y
  2442.        1.000   TERM, BATT +              1063002 0001   5000     Y
  2443.        1.000   TERM, BATT -              1063002 0002   5000     Y
  2444.        1.000   TERM, BATT COMM           1063002 0003   5000     Y
  2445.        1.000   TERM, BATT COMM           1063002 0003   5000     Y
  2446.        1.000   SPRING,BATTERY            1063002 0004   5000     Y
  2447.        1.850   BOTTOM CASE 74            1063002 0005   5000     Y
  2448.        1.000   B/DOOR 74/95              1063002 0006   5000     Y
  2449.        1.850   KEY TOP FUNCTIO           1063002 0007   5000     Y
  2450.        1.000   KEY TOP NUMERIC           1063002 0008   5000     Y
  2451.        1.000   KEY TOP SPACE             1063002 0009   5000     Y
  2452.        2.350   ELASTOMER K/B             1063002 0010   5000     Y
  2453.        1.000   WINDOW TI74               1063002 0011   5000     Y
  2454.        1.000   SHOCK ABSORBER            1063002 0012   5000     Y
  2455.        1.000   RUBBER FOOT               1063002 0013   5000     Y
  2456.        1.000   FOIL TOP ESD              1063002 0014   5000     Y
  2457.        1.000   FOIL BOTTOM ESD           1063002 0015   5000     Y
  2458.        1.000   FOOT,CONDUCTIVE           1063002 0016   5000     Y
  2459.        1.000   INSULATOR I/O S           1063002 0017   5000     Y
  2460.        1.000   OVERLAY METAL74           1063002 0018   5000     Y
  2461.        1.000   TOPCASE 74                1063002 0019   5000     Y
  2462.        1.000   DIODE IN60                1063002 0020   5000     Y
  2463.        1.000   DIODE IN270               1063002 0021   5000     Y
  2464.        1.000   CABLE, PCB RIBB           1063002 0022   5000     Y
  2465.        1.000   RES ARRAY 10K             1063002 0023   5000     Y
  2466.        1.400   CRYSTAL 4MHZ              1063002 0024   5000     Y
  2467.        2.800   FET VP0808L               1063002 0025   5000     Y
  2468.        5.600   LSI RC4193NB              1063002 0026   5000     Y
  2469.        6.000   LSI SI7660                1063002 0027   5000     Y
  2470.       22.000   LSI TMSC70009             1063002 0028   5000     Y
  2471.       12.150   LSI HN61256PC93           1063002 0029   5000     Y
  2472.       12.600   LSI HN6264LP              1063002 0030   5000     Y
  2473.        1.000   CONN I/O,10 PIN           1063002 0031   5000     Y
  2474.        1.000   FRAME, LCD DSPL           1063002 0032   5000     Y
  2475.        1.650   POTENTIOMETER             1063002 0033   5000     Y
  2476.       15.950   LCD DISPLAY               1063002 0034   5000     Y
  2477.        6.600   LSI-HD44100               1063002 0035   5000     Y
  2478.        1.000   ZEBRA STRIP B             1063002 0037   5000     Y
  2479.        1.000   ZEBRA STRIP A             1063002 0038   5000     Y
  2480.        1.000   I/D LABEL TI74            1063002 0040   5000     Y
  2481.       56.900   KYBD ASSY                 1063002 0041   5000     Y
  2482.  
  2483. If you need anything else, please contact me again.
  2484.  
  2485. Regards,
  2486. Paul King
  2487. -------------------------------------------------------------------------
  2488. TI Consumer Relations
  2489. Texas Instruments                     Internet:  ti-cares@lobby.ti.com
  2490. P O Box 10508 M/S 5828                   Phone:  806-741-2663
  2491. Lubbock, TX 79408-0053                     Fax:  806-741-2690
  2492. -------------------------------------------------------------------------
  2493.  
  2494. ------------------
  2495. Original text
  2496. From CGood @ SMTP (Charles Good) {CGOOD@osulima1.lima.ohio-state.edu}, on
  2497. 7/25/94 2:57 PM:
  2498. To: ti-cares @ SMTP (ti-cares) {ti-cares@lobby.ti.com}
  2499.  
  2500. Please mail me a list of software and hardware products for the CC40
  2501. and TI74 which can be purchased from TI using a credit card via 800-
  2502. 842-2737.
  2503.  
  2504. Thank you
  2505. Charles W. Good
  2506.  
  2507.  
  2508. =============================================================================
  2509. C4ICS006
  2510.  
  2511. Content-Type: TEXT/plain; SizeOnDisk=1547; name="40TO4A.TXT"; CHARSET=US-ASCII
  2512. Content-Description: 40TO4A.TXT
  2513.  
  2514.                       October 1990 
  2515.  
  2516.         USING TI-WRITER TO "L(oad) F(ile) RS232"  
  2517.                     by Charles Good 
  2518.                   Lima Ohio User Group 
  2519.       
  2520.      You can hook two different kinds of computers together with a
  2521.      serial cable linking the RS232 ports of both computers.
  2522.      You can then LOAD TEXT FILES DIRECTLY INTO TI-WRITER (or the
  2523.      Funnelweb editor) from a word processor program running on the other
  2524.      computer.  You don't need a modem or a "terminal" program, and the
  2525.      other computer doesn't have be compatible with the TI.  Here's how. 
  2526.       
  2527.      After cableing the two computer's RS232s together boot TI-Writer,
  2528.      type LF (load file) and <enter>, then type RS232.CR for the file name
  2529.      and press <enter>.  The TI's screen will appear to lock up as the TI
  2530.      waits to receive the file from the RS232 port.  It may be necessary
  2531.      to specify a baud rate in the RS232.CR file name if the default 300
  2532.      baud is not satisfactory.  However, TI Writer (and Funnelweb) will
  2533.      not accept baud rates greater than 600.  With the other computer save
  2534.      (or send) a text file already in memory, specifying RS232 as the save
  2535.      file name.  Text will then flow into TI Writer.  When text transfer
  2536.      is complete, press FCTN/4 on the TI and the received text file will
  2537.      be displayed. 
  2538.       
  2539.      Since I don't have the TI99/4A HexBus interface, this is how I
  2540.      transfer text from my CC40 to my TI for processing with Funnelweb and
  2541.      printing with my Star printer. 
  2542.  
  2543. ============================================================================
  2544. C4ICS007
  2545.  
  2546. Content-Type: TEXT/plain; SizeOnDisk=4825; name="6KTO18K.TXT"; CHARSET=US-ASCII
  2547. Content-Description: 6KTO18K.TXT
  2548.  
  2549. May 1991    
  2550.                             CC-40 6K TO 18K UPGRADE 
  2551.  
  2552. (BB&&P editor's note: The original source and author of this article are
  2553. unknown.  The article was provided to us by member James McCulloch, who
  2554. originally got it several years ago from a BBS.  James successfully used these
  2555. instructions to upgrade his CC40 from 6K RAM (which is what new CC40s usually
  2556. have) to the maximum internal 18K RAM.) 
  2557.  
  2558. DISCLAIMER: You assume sole responsibility for attempting this upgrade. 
  2559.  
  2560.      BEFORE ATTEMPTING THIS UPGRADE, BE ADVISED THAT THE COMPONENTS IN THE
  2561. CC-40 ARE SUBJECT TO DAMAGE FROM STATIC ELECTRICITY DISCHARGE. OBSERVE PROPER
  2562. ESD PRECAUTIONS. 
  2563.  
  2564.      I don't remember where these instructions came from, but I acquired them
  2565. about 5 years ago. Had no problems upgrading my CC-40, and was even able to
  2566. re-use the memory removed from the CC-40. Follow the instructions and all
  2567. should work out fine. Have fun! 
  2568.                Willy 
  2569.  
  2570. You'll need: 
  2571.              --2^^^8K CMOS STATIC RAM ie, HM6264LP-15 
  2572.              --2^^^1/2" buss wire 
  2573.              --1^^^Spool solder wick (solder remover) 
  2574.              --Soldering iron and solder 
  2575.              --Common electronic type tools 
  2576.  
  2577. READ ALL INSTRUCTIONS THOROUGHLY BEFORE STARTING 
  2578.  
  2579. 1....Take out batteries, cartridges, or any other connections to the CC40. Turn
  2580. the CC40 upside down and carefully remove the phillips head screws from the
  2581. CC40 and put in a secure place to keep from losing them. 
  2582.  
  2583. 2....With the CC40 still face down. Turn the CC40 until the words CC$) are
  2584. correctly facing you. This way there will be a common direction between these
  2585. instructions and the computer. Carefully and very slowly remove the back cover.
  2586. Make sure the keyboard is still flat on the table, otherwise later the keys may
  2587. fall out of place (this would be bad). 
  2588.  
  2589. 3....Make sure you are staticly discharged before touching the board. Do this
  2590. by touching any grounded metal object. With pliers gently pull up the battery
  2591. connectors by swaying the tabs back and forth as you pull them up. Just do the
  2592. ones with the wires attached. 
  2593.  
  2594. 4....Now remove all the black oxide screws from the circuit board, there should
  2595. be a total of 11 screws. Store these in a safe place where they won't get lost.
  2596. Carefully lift up the board side next to the battery holder and pull back
  2597. making sure the keyboard doesn't come up. If the top PC board will not come up
  2598. then gently press down over the contrast knob (on the right hand side) while
  2599. lifting up in the middle of the board. This will give more room for the knob to
  2600. slide out of the case. 
  2601.  
  2602. 5....Now remove the plastic insert that lies between the 2 PC boards. To do
  2603. this you start by lifting up on the right hand side of the plastic insert, when
  2604. it is out of all the screw holes then slide the plastic out. This will leave
  2605. the 2 PC boards which you will take out next. Caution when taking out the
  2606. boards try not to bend the connectors too much as they will get brittle and
  2607. break. 
  2608.  
  2609. 6....Remove the PC boards by lifting up on the ends nearest to the connector
  2610. ribbons and lift up both boards at the same time, but leave the keyboard down so
  2611. the keys stay put. After successfully removing the PC boards put the case in a
  2612. safe area where the keys won't get knocked out. 
  2613.  
  2614. 7....Turn the PC board so that the two long chips are at the top, with the
  2615. ribbon connectors also at the top. Move the two jumpers over one slot to the
  2616. right. 1 to 2 and 3 to 4. (These are the vertical jumper wires soldered in
  2617. place at the top part of the board and require desoldering as described
  2618. below.) 
  2619.  
  2620. 8....Remove the two top chips by removing the solder with the solder wick,
  2621. making sure not to get the board too hot. Carefully remove the two chips and
  2622. insert the two new chips in, making sure the new chips are inserted in the same
  2623. direction as the old chips. Pin 1 on the far left. 
  2624.  
  2625. NOTE: IF YOU HAVE NEVER USED SOLDER WICK, OR HAVE HAD TROUBLE USING IT WITH
  2626. INSTALLED COMPONENTS. IT MAY BE BETTER TO CLIP ALL THE LEADS TO THE TWO IC'S
  2627. WITH SHARP DIAG. CUTTERS. THEN HEAT THE SOLDER ON EACH LEAD AND REMOVE EACH
  2628. LEAD (WHILE HEATED), FROM THE BOARD, WITH A PAIR OF NEEDLE NOSE PLIERS. AFTER
  2629. ALL THE LEADS HAVE BEEN REMOVED IN THIS MANNER, USE THE SOLDER WICK TO REMOVE
  2630. THE LEFT OVER SOLDER IN THE IC MOUNTING HOLES. OF COURSE THER ISN'T MUCH CHANCE
  2631. OF SALVAGING THE OLD MEMORY USING THIS METHOD. Willy 
  2632.  
  2633. 9....Solder in the new memory IC's and reassemble the CC40 in the reverse
  2634. manner of it's disassembly, making sure not to fatigue the connector ribbons
  2635. that connect the two boards together. After reassembly is complete turn on the
  2636. C40 and check the amount of memory using the FRE(0) command. It should return a
  2637. value of at least 18K. 
  2638.  
  2639. THATS ALL FOLKS. 
  2640.  
  2641. =============================================================================
  2642. C4ICS008
  2643.  
  2644. Content-Type: TEXT/plain; SizeOnDisk=7916; name="AEECART.TXT"; CHARSET=US-ASCII
  2645. Content-Description: AEECART.TXT
  2646.  
  2647. THE "ADVANCED ELECTRICAL ENGINEERING" CC40 SOFTWARE CARTRIDGE
  2648. reviewed by Charles Good
  2649. Lima Ohio User Group
  2650.  
  2651.     This is one of the least common officially released CC40
  2652. cartridges.  One reason for its rarity is that, although the cartridge
  2653. can still be purchased from CECURE Electronics, no user manuals are
  2654. available.  TI sent CECURE only ONE copy of the user guide  along with
  2655. their remaining stock of AEE modules.  (Strangely enough TI also sent
  2656. CECURE large numbers of "Games 2" user guides.  The "Games 2" module
  2657. does not exist.  It was never released.)  I know people who purchased
  2658. the AEE module "user guideless" from both TI and from CECURE.
  2659. Unfortunately it is really hard to figure out what the AEE software
  2660. does and how to use the module without the user guide.  Fortunately
  2661. CECURE made me a xerox copy of their only user guide so I can, in this
  2662. review, give the public some idea about the Advanced Electrical
  2663. Engineering module's capabilities.  The user guide seems quite well
  2664. written with lots of step by step examples, lots of graphs, and
  2665. detailed mathematical formulae showing the methods used to come up
  2666. with calculated results.  I'll copy this user guide for copying cost
  2667. plus postage for anyone who owns the module and not the guide.
  2668.  
  2669.     Here is the basic information you need to access the module's
  2670. software.  Start by entering RUN "CONTENTS", including the quotes.
  2671. Using the up/down arrows gives you the names of the programs in the
  2672. cartridge.  Although the guide doesn't tell you this, when CONTENTS
  2673. displays a program name you want to run you can start the program by
  2674. pressing the CC40's RUN button.  You can also go to BASIC command mode
  2675. and enter RUN followed by a shortened program name to start a program
  2676. going.  The shortened names are ACTIVE, BODE, COMPLEX, DFT, NETWORK,
  2677. PASSIVE, PLL, SIGNAL, and SY.
  2678.  
  2679.     Active Filters (ACTIVE).  You have your choice of Lowpass Filters,
  2680. Highpass Filters, or Bandpass Filters.  For any of these you enter the
  2681. cutoff frequency, gain (dB), peaking factor and C1 (farads). The
  2682. computer calculates ohms of R1 R2 and R3 and C in farads.
  2683.  
  2684.     Bode/Nyquist Calculations (BODE).  Given a transfer function as a
  2685. ratio of polynomials, the program generates the data needed for
  2686. Bodeand Nyquist plots for specified frequency values.  You can enter
  2687. up to 20 elements into the program.  You enter a bunch of numerator
  2688. and denominator coefficients as well as starting and ending
  2689. frequencies and number of intervals and are given the opportunity to
  2690. edit these data.  Output shows total frequeny, H (real and
  2691. immaginary), magnitude, dB, and angle.
  2692.  
  2693.     Roots of a Polynomeal (COMPLEX).  Using a 6K CC40 you can
  2694. calculate all roots, both real and complex, of up to a 100th degree
  2695. polynomeal in one variable with real coefficients.  You enter an
  2696. initial estimate for "u" and "v" (these two values are often best left
  2697. at the default "0") and an allowable error (epsilon accuracy, often a
  2698. value of "0").  The computer then uses an iteration process to
  2699. calculate roots.  You input the maximum number of iterations.
  2700.  
  2701.     Discrete Fourier Transform (DFT).  This program transforms a
  2702. complex time series to the frequency domain (DFT) and performs the
  2703. inverse transformation (IDFT) from the frequency domain back to the
  2704. time domain.  Frequency representation is given in terms of magnitude
  2705. in dB and phase in degrees.  You have the option of entering data from
  2706. keyboard or from a mass storage device.  The user guide refers to a
  2707. wafertape drive, but a quickdisk drive also works.
  2708.  
  2709.     Network Analysis (NETWORK).  This computes the frequency response
  2710. of a general linear network composed of voltage dependent current
  2711. sources, resistors, capacitors, and inducers.  With a 6K CC40 data
  2712. input can range from 2 nodes of 200 components to 13 nodes and 13
  2713. components.  Presumably an 18K CC40 lets you enter even more data.
  2714. Output is a log or linear frequency sweep which depends on starting
  2715. and ending frequencies and on the number of specified intervals.  For
  2716. each interval you get a listing of frequency, magnitude of output
  2717. voltage in dB, and phase in degrees.
  2718.  
  2719.     Passive Lowpass Filters (PASSIVE).  The program calculates values
  2720. for passive lowpass Butterworth and Tchebychff filters.  You input
  2721. maximum stopband attenuation, maximum passband attenuation or
  2722. allowable ripple, frequencies of max and min stopband attenuation
  2723. realized, and terminal resistance.
  2724.  
  2725.     Phase Locked Loop (PLL).  For either an active or pasive loop
  2726. filter this program calculates the design parameters for a basic
  2727. second order phase locked loop.  You enter gain in seconds, C in
  2728. farads, an intiger divisor, natural angular frequency, and the damping
  2729. factor.  Output is R1-2 and the loop-noise bandwidth.
  2730.  
  2731.     Series/Parallel Impedance Conversions (SP).  Students in high
  2732. school and elementary college physics classes often have to make this
  2733. calculation.  The program converts back and forth between a two
  2734. element series impedance network and an equivalent two element
  2735. parallel impedence network. You enter two series or parallel
  2736. resistances in ohms and get the total parallel or series resistance.
  2737.  
  2738.    Signal Detection (SIGNAL).  Sometimes it is necessary to determine
  2739. if an information bearing signal is present in the presence of noise,
  2740. such as in radar detection.  This program uses the relationship
  2741. between two slightly overlapping normal sine wave distribution curves
  2742. to give the probability of a falsely declared or properly declared
  2743. signal.  You enter the ratio of the two curve's standard deviations
  2744. and the signal-to-noise ratio or, for calculating the probability of
  2745. detection, a preset probability of a false alarm.
  2746.  
  2747.     S<->Y,Z,H,G Parameter Conversions (SY).  Small signal two port
  2748. "black boxes" are often described in terms of complex scattering
  2749. parameters (S) with a characteristic input/output transmission line
  2750. impedance (Z).  The translation of these parameters to admittance (Y),
  2751. impedance, and hybrid (H) and (G) parameters is necessary to create
  2752. equivalent circuit models.  The program converts S parameters to
  2753. Y,Z,H, and G or visa versa.
  2754.  
  2755.     Subprograms:  The AEE module contains subprograms that can be used
  2756. in user written BASIC programs that have nothing to do with electrical
  2757. engineering.  Just plug in the AEE module and CALL xxx with the
  2758. necessary parameters passed from within a running user program (or
  2759. from command mode) to use these subprograms.  Most of these CALLs
  2760. include a provision for optional formatted output to a printer. CALL
  2761. AU allows input and editing of a one dimensional array.  CALL IR will
  2762. input a number with a prompt.  CALL PR converts polar to rectangular
  2763. coordinates.  CALL UP with program name and device number asks if you
  2764. want output diected to a printer.  CALL YN with a question asks for a
  2765. yes/no answer.
  2766.  
  2767.     For the specific calculations this software is designed to
  2768. generate this software cartridge does a nice job, and it is portable
  2769. so you don't need a desktop computer.  The biggest deficiency of this
  2770. cartridge, in my opinion, is the lack of output in graphic format.
  2771. All output is a number or series of numbers printed on screen or on a
  2772. printer.  Why didn't TI take advantage of the really neat graphing
  2773. capabilities of the 4 color hexbus printer/plotter with this
  2774. cartridge?  The output of this cartridge is in many cases designed
  2775. around parabolas, sign waves, or circuit diagrams.  It would be great
  2776. if the cartridge printed its output in these ways using the printer
  2777. plotter, much as modern "graphing calculators" display their output.
  2778. But alas all you get with the AEE cartridge is a bunch of numbers.  As
  2779. far as I know there is no official TI software and very little user
  2780. written software that takes advantage of the neat graphing
  2781. capabilities of the TI printer/plotter.
  2782.  
  2783.  
  2784. =============================================================================
  2785. C4ICS009
  2786.  
  2787. Content-Type: TEXT/plain; SizeOnDisk=1350; name="DOCS.TXT"; CHARSET=US-ASCII
  2788. Content-Description: DOCS.TXT
  2789.  
  2790.  
  2791.                     DECEMBER 1991 
  2792.       DOCUMENTATION AVAILABLE TO LIMA UG MEMBERS  
  2793.                   From Charles Good 
  2794.     
  2795.      Many used TI goodies are being bought and sold, often
  2796. without documentation.  For the curious, and for those who
  2797. have purchased hardware and classic software that lacks
  2798. documentation, I have the following CC40 books and magazines
  2799. as well as printed documentation for the following hardware
  2800. and software which I am glad to make available for
  2801. examination and/or loan to Lima Ohio User Group members. 
  2802.   ----------   
  2803.    CC40 RELATED DOCUMENTATION:  
  2804.                 
  2805.    --HEXBUS MODEM USER GUIDE
  2806.    --PRINTER 80 USER GUIDE, for the 80 column hex bus
  2807.       thermal printer.
  2808.    --CC40 MEMO PROCESSOR manual. 
  2809.    --CC40 USER'S GUIDE 
  2810.    --CC40 STATISTICS CARTRIDGE manual 
  2811.    --CC40 PASCAL CARTRIDGE USER'S GUIDE 
  2812.    --CC40 PASCAL CARTRIDGE REFERENCE GUIDE 
  2813.    --CC40 GAMES 1 CARTRIDGE manual 
  2814.    --CC40 RS232 USERS MANUAL.  We also have this on disk. 
  2815.    --CC40 PRINTER/PLOTTER USERS MANUAL 
  2816.    --CC40 FINANCE CARTRIDGE manual. 
  2817.    --CC40 8K CONSTANT MEMORY RAM CARTRIDGE manual. 
  2818.    --WAFERTAPE DIGITAL TAPE DRIVE USER GUIDE.  dated
  2819.       08/11/83.  We also have this on disk.
  2820.    --LEARN BASIC: A GUIDE TO PROGRAMMING THE CC40.  book by David Thomas. 
  2821.    ---------- 
  2822.  
  2823. ============================================================================
  2824. C4ICS010
  2825.  
  2826. --cgood:848799722:880673398:740247587:1912078336
  2827. Content-Type: TEXT/plain; SizeOnDisk=11197; name="HBINTFAC.TXT"; CHARSET=US-ASCII
  2828. Content-Description: HBINTFAC.TXT
  2829.  
  2830.  
  2831.  
  2832.       NEVER RELEASED OFFICIAL TI PERIPHERALS: 
  2833.      THE HEXBUS INTERFACE; A KEY TO WHAT MIGHT HAVE BEEN  
  2834.      a hands on description by Charles Good 
  2835.      Lima Ohio User Group 
  2836.       
  2837.      The Hexbus Interface (PHP1300) allows you to control all the neat little
  2838. hexbus peripherals directly from the 99/4A console.  With this interface and a
  2839. side car 32K (or 32K installed inside the console) you can create a fully
  2840. expanded system with a very small footprint (occupying little surface area).
  2841. If you paid full list 1983 TI prices, the cost of your expanded system would be
  2842. much less than an expanded system based on the peripheral expansion box. 
  2843.       
  2844.      If you have a box that contained a beige console you can see what a TI
  2845. Hexbus interface looks like.  There is a picture of one on the bottom of the
  2846. box attached to the side of a console.  TI listed this device in its last price
  2847. list (dated June 1, 1983) for $59.95, but it was never officially released.
  2848. Only a handful of original TI hexbus interfaces are known to exist.  I have
  2849. such a 1983 TI hexbus interface on loan from Gary Taylor for this report, and I
  2850. now also have my very own BRAND NEW cloned hexbus interface.  For years people
  2851. have been trying to clone TI's original interface and now it has been done.  As
  2852. of right now I am one of two people to own one of these cloned interfaces.
  2853. More on this later. 
  2854.       
  2855.      Gary's official TI interface measures 8 x 3.5 x 2.25 inches.  It connects
  2856. to the side o the console and has a connection on its right side for other
  2857. standard 99/4A peripherals or the peripheral expansion box cable.  On the back
  2858. is an on/off switch, a power supply jack for the required model AC9201 6v 300ma
  2859. external power supply, and one hexbus connector.  There is no serial number or
  2860. date code (ATA or LTA number) on Gary's interface, indicating that it is a
  2861. preproduction prototype.  There is, however, an FCC identification number
  2862. (A929JWPHP1300), and a statement that the device has been approved by the FCC
  2863. for "class B" use in the home. 
  2864.       
  2865.      The following hexbus peripherals have been tested by me using a 99/4A
  2866. console and the hexbus interface with no problems.  These are all very small
  2867. peripherals, and all of them except the RS232 can be run on batteries as well
  2868. as AC current.  With the exception of the Printer 80 they all stack neatly on
  2869. top of each other.  You can place the whole stack of peripherals on top of the
  2870. hexbus interface where it is connected to the side of the console.  The entire
  2871. footprint of all these peripherals when stacked on top of the interface
  2872. OCCUPIES LESS TABLE SPACE than fire hose PE Box connector when connected to the
  2873. console.  The PE Box connector sticks out frather from the right side of the
  2874. console than does the hexbus interface and stack of hex bus peripherals! 
  2875.  
  2876.    --Hexbus RS232 with parallel option: can be used to run any printer. 
  2877.    --Hexbus modem, doesn't require an RS232, 300 baud. 
  2878.    --Wafertape drive.  This is a "never released peripheral" that I own.  Up to
  2879.       8 of these can be cabled together in a single system.
  2880.    --Hexbus 4 color printer/plotter.  This tiny printer can be addressed
  2881.       directly and does not need an RS232.
  2882.    --The Hexbus "Printer 80" 80 column thermal printer also works flawlessly
  2883. with the hexbus interface, but you can't stack it with the other peripherals.
  2884. Like the printer/plotter, the Printer 80 can be addressed directly and doesn't
  2885. require an RS232 interface.  It uses fax paper or plain paper and a thermal
  2886. ribbon cartridge. 
  2887.       
  2888.      TI was developing a hexbus 5.25 inch floppy drive controller.  I know of
  2889. two working examples of this controller in private hands, and one of these has
  2890. been tested successfully with a 99/4A hexbus interface. 
  2891.       
  2892.      Unfortunately, the Hexbus interface does not work properly with the
  2893. Mechatronic quickdisk drive, the one that uses 2.8 inch disks.  You can save
  2894. programs to quickdisk, but you can't load them back off the disk into the
  2895. 99/4A. 
  2896.  
  2897.       WHAT YOU CAN DO WITH THE HEXBUS INTERFACE:  
  2898.      According to TI's documentation that comes with the TI interface, the
  2899. device can be addressed in TI BASIC, TI EXTENDED BASIC, Assembly language, and
  2900. from the P-code peripheral.  The usual syntax is
  2901. "HEXBUS.DEVICE_NUMBER.FILE_NAME".  For example, to save a BASIC program to a
  2902. wafertape set up as device 2 (wafertape drives can be designated any number
  2903. from 1-8) you would type SAVE HEXBUS.2.PROGRAM and press <enter>.  To list a
  2904. basic program to a printer attached to the hexbus RS232 you would enter LIST
  2905. "HEXBUS.50." where device 50 is the parallel output of the RS232.  To list a
  2906. program to the printer plotter the syntax is LIST "HEXBUS.10." 
  2907.       
  2908.      I have used the interface with WORDWRITER, a cartridge version of TI
  2909. Writer.  LF and then the file name HEXBUS.2.TEXTFILE will load TEXTFILE into
  2910. the edit buffer from wafertape device 2.  PF and then HEXBUS.16. will print the
  2911. file directly to the Printer 80 (which is device 16). 
  2912.       
  2913.      The TI Hexbus Interface user guide was never officially published.  It
  2914. would have been designated as document 1049000-1, and was last revised sometime
  2915. after March 1, 1983.  (I have the March 1 revision.  Errors in this revision
  2916. have been corrected in my copy of 104900-1.) This user guide suggests that you
  2917. can get a CC40 and 99/4A to talk to each other over the hexbus interface,
  2918. allowing the CC40 to store data on the 99/4A's drives and display information
  2919. on the 99/4A monitor.  There is only limited truth to this.  The documentation
  2920. includes a skeleton 99/4A BASIC program that is supposed to put the /4A in
  2921. "slave mode" so that it and its peripherals can can be controlled by a CC40
  2922. connected to the hexbus interface.  The key word here is "skeleton".  Big parts
  2923. are left out of this BASIC program, and nobody that I know who has a TI hexbus
  2924. interface can make this program work.  Nobody has been able to SAVE or OLD a
  2925. CC40 program onto a 99/4A floppy drive or display CC40 text via a 99/4A onto a
  2926. monitor.  You are supposed to be able to do this, but nobody can figure our
  2927. how. 
  2928.       
  2929.      You can use a CC40 (or TI74) to save data to a data file on wafertape and
  2930. then use the 99/4A to open the file and read the data into the 99/4A.
  2931. Wafertape drives are rare and not very reliable.  It is really too bad that you
  2932. can't use the Mechatronic quickdisk drive with the hexbus interface. 
  2933.       
  2934.       THE KEY TO WHAT MIGHT HAVE BEEN:  
  2935.      Back in 1983 the hexbus interface would have been the key to a low cost
  2936. compact expanded 99/4A system.  Lets compare costs, based on the rediculus full
  2937. list prices from TI's last official price list. 
  2938.      EXPANSION VIA THE PE BOX: 
  2939.      --PHP1200 Peripheral Expansion box...........$249.95 
  2940.      --PHP1220 RS232 Card.........................$174.95 
  2941.      --PHP1240 Disk Controller Card...............$249.95 
  2942.      --PHP1250 Floppy drive for PE box............$399.95 
  2943.      --PHP1260 32K card...........................$299.95 
  2944.      --PHP1800 Telephone coupler (modem)..........$199.95 
  2945.      ----------------------TOTAL EXPANSION COST..$1574.70 
  2946.       
  2947.      EXPANSION WITH HEXBUS PERIPHERALS: 
  2948.      --You need a side car 32K and there is no such hexbus product.  Doryt
  2949. Systems advertises one in the June 1983 99er......$175.00 
  2950.      --PHP1300^Hexbus Interface...................$ 59.95 
  2951.      --HX2000^^Wafertape Drive....................$139.95 
  2952.      --HX3000P^RS232  with parallel interface.....$124.95 
  2953.      --HX3100^^Hexbus modem.......................$ 99.95 
  2954.      ----------------------TOTAL EXPANSION COST...$599.80 
  2955. This would leave you with enough extra money to purchase additional hexbus
  2956. peripherals such as 
  2957.      --Additional wafertape drives.  Up to 8 drives can be cabled together in
  2958. one system and you don't need any kind of "controller" interface. 
  2959.      --HX1000  4 color printer/plotter.............$199.95 
  2960.      --HX1010  Printer 80, released in 1984 at.....$249.95 (the TI impact
  2961. printer listed in 1983 for $750.) 
  2962.       
  2963.      So after listing it in their official price list, obtaining FCC
  2964. certification, and providing a color picture of the thing on each beige console
  2965. box, why didn't TI offer the Hexbus Interface to 99/4A users?  I suspect the
  2966. answer is the failure of the wafertape drive to live up to expectations.  My
  2967. wafertape drive, and those owned by a few other lucky collectors, are not very
  2968. reliable, particularly when operated on battery power.  The key to system
  2969. expansion is reliable mass storage that is better than a cassette tape
  2970. recorder.   Failure of the wafertape drive left the hexbus in 1983 with no mass
  2971. storage peripheral.   But this may soon change! 
  2972.  
  2973. ============================================================================
  2974. C4CIS011
  2975.  
  2976.      NEW 1993 HEXBUS PERIPHERALS:
  2977.      reported by Charles Good 
  2978.      Lima Ohio User Group 
  2979.      A hobbyist in Germany named Michael Becker is making clones of TI's never
  2980. released Hexbus peripherals in limited quantities.  (Michael Becker also makes
  2981. a quad density disk controller and a "speech in the PE box" card that includes
  2982. TEII speech in ROM usable from extended basic without occupying normal XB
  2983. program memory space.  This card was shown at the Feb 1993 Fest West.) 
  2984.  
  2985.      --99/4A hexbus interface.  I own one of these clones.  It is built like a
  2986. tank in a solid metal enclosure resembling the enclosure of the Mechatronic 80
  2987. column peripheral.  Like the original TI  product, the clone plugs into the
  2988. side of the console and has a connector for the PE Box cable.  Unlike the TI
  2989. original my clone has an LED which flickers to tell me that my interface is
  2990. funtioning, and it does not require a spearate power supply. 
  2991.  
  2992.      --5.25 inch DSDD hexbus disk controller.  This can be used for mass
  2993. storage with the CC40, TI74, 99/2, 99/8, and with the hexbus interface can also
  2994. be used with the 99/4A.  Michael Becker has a TI original (a very very rare
  2995. device, even rarer than a wafertape drive) and has dumped all the code in the
  2996. PAL chips so that he can produce duplicates.  I expect delivery of my
  2997. controller in a few months. 
  2998.  
  2999.      --Hexbus Video interface.  This allows the CC40 and TI74 to display text
  3000. in 40 columns on a composite color monitor.  One of my correspondants has seen
  3001. Michael's  working prototype.  It is better than the TI original in that it
  3002. will display in 16 colors, not just in black and white. 
  3003.       
  3004.      Another hobbyist, Lee Bendick, has cloned the CC40 EA cartridge and is
  3005. making this cartridge available to interested CC40 owners.  This allows users
  3006. to program the CC40 in assembly language, storing assembly routines in battery
  3007. backed RAM cartridges or in the RAM of the CC40.  I know of only 4 TI original
  3008. CC40 EA cartridges.  I own one of Lee's cloned EA cartridges and it works as
  3009. described in my two massive CC40 assembly language manuals.  You need either
  3010. a 5.25 hexbus disk drive or a wafertape drive to make the EA cartridge work. 
  3011.       
  3012.      Anyone interested in any of these CC40/Hexbus peripherals can write me at
  3013. P.O. Box 647, Venedocia OH 45894.  I will put you in touch with Michael Becker
  3014. or Lee Bendick. 
  3015.  
  3016. ============================================================================
  3017. C4ICS012
  3018.  
  3019. Content-Type: TEXT/plain; SizeOnDisk=969; name="HEXBUS#.TXT"; CHARSET=US-ASCII
  3020. Content-Description: HEXBUS#.TXT
  3021.  
  3022. APRIL 1992
  3023.  
  3024.  
  3025.         HEXBUS/DOCK BUS  PERIPHERAL DEVICE NUMBERS
  3026.  
  3027. NUMBER     |        PERIPHERAL
  3028. -------------------------------------------------------------
  3029.   1-8      |*HX1000 Wafertape Digital Tape Drive
  3030.    1       | CI-7 Cassette Interface (Dock Bus)
  3031.    8       | Quickdisk Drive, by Mechatronic
  3032.  10-11     | HX1000 Printer Plotter
  3033.   12       | PC324 Thermal Printer (Dock Bus)
  3034.   14       | PC Interface -to PC parallel printer (Dock Bus)
  3035.  16-17     | HX1010 Printer 80
  3036.  20-23     | HX3000 RS232C Interface
  3037.   40       |*HX1100 Video Interface
  3038.   45       | PC Interface -to PC screen (Dock Bus)
  3039.  50-53     | HX3000 Centronics Parallel Interface
  3040.  60-67     | Computer in slave mode
  3041.   70       | HexBus Modem
  3042. 100-104    |*5102 HexBus drive controller, up to 4 drives.
  3043.   100      | PC Interface -Program on PC disk (Dock Bus)
  3044.   101      | PC Interface -ASCII text file on PC disk (D Bus)
  3045.  
  3046.      * denotes products never officially released
  3047.  
  3048. =============================================================================
  3049. C4ICS013
  3050.  
  3051. --cgood:848799722:880673398:740247587:1912078336
  3052. Content-Type: TEXT/plain; SizeOnDisk=5477; name="HEXBUS.TXT"; CHARSET=US-ASCII
  3053. Content-Description: HEXBUS.TXT
  3054.  
  3055. JANUARY 1992
  3056.  
  3057.  
  3058.  THE HEX-BUS CONNECTION:  
  3059. By Dan H. Eicher 
  3060.  
  3061. One facet of the whole TI saga that has been largely overlooked is TI's
  3062. introduction of a new bus standard in the last days of their involvement within
  3063. the mass consumer market. That new bus was called the Hex-Bus. 
  3064.  
  3065. The Hex-Bus was planned as a standard bus throughout the TI family of low end
  3066. computers. The computers that had built in Hex-Bus interfaces were: 99/8, 99/2,
  3067. and the CC-40 (CC stands for Compact Computer), and the 99/4(a) was to have an
  3068. interface cable. For one hundred dollars you received a box the plugged into
  3069. the i/o port of your comsole and at the other end had a Hex-Bus plug. 
  3070.  
  3071. What was so grand about this new scheme was the peripherals themselves, some of
  3072. the peripherals that where actually produced where: disk drives, wafer tape
  3073. drives, rs-232 interfaces, printer plotters, printers, and video interfaces. 
  3074.  
  3075. These peripherals were VERY compact, all of them fit on a 4X4" printed circuit
  3076. board. All Hex-Bus units could be used on ANY computer that had a hex bus port!
  3077. That means that you could use your rs-232 on your 99/8 and when you went on a
  3078. camping trip you just unpluged it and took it along with your CC-40.  
  3079.  
  3080. Several years after TI went out of the home computer market, they produced the
  3081. TI-74 Basic Calc (which was much like a trimmed down CC-40) & the TI-95 Procalc
  3082. (this is a much improved model over TI's original 95 programmable line ).  Each
  3083. of these new computers had a new I/O port on the back that looked much
  3084. different then the old Hex-Bus port. TI slipped and they put out a technical
  3085. reference manual for the TI-74 (I say slipped because we all know how TI likes
  3086. to give out technical information....not at all). I believe you can still order
  3087. one of these TI-74 technical reference manuals from TI Cares. 
  3088.  
  3089. When people got these technical manuals and started to look them over they
  3090. where surprised to find out the Hex-Bus was back, only in a different package.
  3091. In fact all that needs to be done to hook up a Hex-bus peripheral to one of
  3092. these new computers is change the pin configuration  (nothing has to be added,
  3093. just the wires need to be moved around and put in a new package). The only
  3094. thing new to this new bus (TI calls it, a Dock-bus port), is a power line has
  3095. been added so a peripheral unit can provide power to either the 74 or 95. This
  3096. was done because TI did NOT set up a power adapter jack in either of these two
  3097. computers, so it was battery powered only. If you bought their printer and
  3098. pluged it into a power supply, the power supply would provide power to both the
  3099. printer and the host computer. This will not work with the older Hex-bus
  3100. peripherals, nor is the CC-40 designed to accept power from one of the new
  3101. Dock-bus peripherals. 
  3102.  
  3103. One of the major draw backs to the CC-40 was that there was not a built in
  3104. cassette tape interface, and Hex-Bus disk drives and Wafer tape units are all
  3105. but non-existant, this leaves the user without any means to save programs on a
  3106. permenant media. The 74 & 95 also did not have cassetter interfaces built in so
  3107. TI sold a unit that plugged into the Dock-Bus that allowed you to save programs
  3108. to cassette. 
  3109.  
  3110. At first many CC-40 owners where overjoyed, thinking they at last had found a
  3111. solution to their mass storage delima, but it was not to be. TI did not build
  3112. the code into either the CC-40 or the cassette interface that would allow the
  3113. CC-40 to save to tape using this device. Although TI did build a version of the
  3114. CC-40 called the CC-40+ that had a built in cassette interface, these
  3115. unfortuneatly were only built for use "in-house". 
  3116.  
  3117. I would like to note that even today, many CC-40 and TI-74 see service daily.
  3118. TI wrote several custom programming packages for these two machines.
  3119. Different government and private agencys send their employees into the
  3120. field armed with a CC-40 or TI-74 and custom software, tailored to the type of
  3121. calculations they do. I have even heard of a automated car wash in Germany
  3122. that runs off of a CC-40. 
  3123.  
  3124. I have included a copy of the shape and pin ins/outs of the Hex-Bus and
  3125. Dock-bus for any who may be interested.  
  3126. .NF 
  3127. .NA 
  3128.            Hex-Bus:
  3129.              ___         Pin   Purpose
  3130.          ____| |___       1 D0 Data-LSB
  3131.          |4 3  2 1|       2 D1 Data
  3132.          |8 7  6 5|       7 D2 Data
  3133.          ----------       8 D3 Data-MSB
  3134.                           5 HSK - Hand Shake
  3135.                           3 BAV - Bus available
  3136.                           4 GND
  3137.                           6 Protective GND
  3138.        Dock-Bus
  3139.            _
  3140.  _________| |__________
  3141.  |1 2 3 4 5 6 7 8 9 10|  Pin            Purpose
  3142.  ----------------------   1 System Power distribution out
  3143.                           2 System Power distribution in
  3144.                           3 DO Data-LSB
  3145.                           4 D1 Data
  3146.                           5 D2 Data
  3147.                           6 D3 Data-MSB
  3148.                           7 HSK - Hand Shake
  3149.                           8 BAV - Bus available
  3150.                           9 System Reset
  3151.                          10 GND
  3152.  
  3153. For you experimenters here is the color codeing
  3154. of the HexBus Port:
  3155.    Pin     Color                 Pin     Color
  3156.     1      Grey                   5      Brown
  3157.     2      Yellow                 6      Green
  3158.     3      Red                    7      Black
  3159.     4      Orange                 8      Blue
  3160.     
  3161.  
  3162.  
  3163. =============================================================================
  3164. C4ICS014
  3165.  
  3166.  
  3167. --cgood:848799722:880673398:740247587:1912078336
  3168. Content-Type: TEXT/plain; SizeOnDisk=5222; name="MEMOBUG.TXT"; CHARSET=US-ASCII
  3169. Content-Description: MEMOBUG.TXT
  3170.  
  3171.    A FATAL BUG IN THE CC40
  3172.    MEMO PROCESSOR SOFTWARE CARTRIDGE
  3173.    by Charles Good
  3174.    Lima Ohio User Group
  3175.  
  3176.    When using TI's word processing MEMO PROCESSOR cartridge, you are
  3177.    supposed to be able to enter text and then completely power down the
  3178.    CC40.  Later, when you turn on the CC40 and start Memo Processor your
  3179.    text should still be there waiting for you, preserved in the CC40's
  3180.    battery backed RAM.  My experience has been that this works most of
  3181.    the time.  However, every now and then my CC40 displays "Ready for
  3182.    new document" when I activate Memo Processor even though there should
  3183.    already be a document in memory.  The document I left in memory when
  3184.    I last powered down my CC40 is totally lost when this happens.  This
  3185.    loss of document occurs only occasionally, but when it happens I am
  3186.    VERY UPSET, because I may have lost several thousand characters of
  3187.    text before I can get my CC40 home to transfer my document via my
  3188.    hexbus RS232 to my 99/4A or to a PC.  This is why, in my CC40
  3189.    Micropendium article, I characterized the CC40 Basic word processing
  3190.    Palmer Hanson and I wrote as "more stable in memory" than Memo
  3191.    Processor.  This program, which I am using to write this article,
  3192.    NEVER loses its data when the computer is turned off.
  3193.  
  3194.    For many years I have wondered whether this Memo Processor problem
  3195.    was a random phenomynon or was due to some basic problem in the Memo
  3196.    Processor software.  The problem occures infrequently enough that I
  3197.    was unable to detect a pattern.  Maybe the contacts on my Memo
  3198.    Procesor cartridge and/or the cartridge port on my CC40 were dirty.
  3199.    Maybe I didn't use the correct sequence of keypresses to completely
  3200.    exit Memo Processor and power down the CC40 (there are several ways
  3201.    to do this).  Maybe Memo Processor does not like my 18K CC40 and will
  3202.    only work reliably with a 6K CC40.  I asked other CC40 owners if they
  3203.    experienced this problem. Some, including Funnelweb's Tony McGovern,
  3204.    replied with a definate "YES!", but others said they have not
  3205.    experienced the problem.
  3206.  
  3207.    I am now convinced that there is a bug in Memo Processor that causes
  3208.    data loss on powerdown under certain circumstances.  I can verify the
  3209.    loss of document problem in a predictable way.  The problem is not
  3210.    related to dirty cartridge contacts, the size of CC40 RAM, or the
  3211.    keysequence used to turn off the computer.  I have verified the bug
  3212.    using two different Memo Processor cartridges using both my 18K and
  3213.    6K CC40.  The results of my research indicate that, when using Memo
  3214.    Processor, each time the CC40 is powered down by the user or by
  3215.    automatic powerdown there is approximately 1 chance in 16 that the in
  3216.    memory document will be lost.  And there is almost nothing you can do
  3217.    to prevent this from happening.
  3218.  
  3219.    The solution to this puzzle ocurred to me recently after I wrote a
  3220.    6600+ character long document using Memo Processor, saved the text to
  3221.    Quickdisk, and turned off my computer.  When I later turned my CC40
  3222.    back on the document was gone!  I reloaded the document from my
  3223.    quickdisk drive, turned my CC40 off and then back on, and the
  3224.    document was GONE AGAIN!.  I now had on disk a document that would
  3225.    ALWAYS be lost to Memo Processor when my CC40 was power cycled.  This
  3226.    proved that the loss of document problem is not random.  It can be
  3227.    predictably repeated.  I soon discovered that if I loaded my
  3228.    disappearable document from disk and either added a few characters to
  3229.    the document, or deleted a few characters, the document would remain
  3230.    in memory.  It is the length of the text document in memory that
  3231.    determines whether it will be lost or not when the CC40 is turned
  3232.    off, according to the following pattern.
  3233.  
  3234.    If you enter 20 groups of 10 characters each into Memo Processor with
  3235.    a space between each group, this will equal 219 characters and will
  3236.    remain in memory when powr is cycled.  If you add a space and another
  3237.    10 character group, for a total of 230 characters, the document will
  3238.    be lost when power is cycled off and on.  Any document length between
  3239.    1 and 229 characters will not be lost.  Any document between 230 and
  3240.    245 characters in length will be lost upon power cycling.  Then the
  3241.    pattern repeats itself.  Text 246-475 characters long will not be but
  3242.    text 476-492 characters long is lost.  The pattern seems to repeat
  3243.    more or less indefinately.  For each group of 245 characters, if the
  3244.    document length is within the last 16 of these 245 characters the
  3245.    document will not remain in memory when the CC40 is turned off and
  3246.    on.  16/245 = 0.065 or 6.5% or about 1 in 16, the chances of losing a
  3247.    Memo Processor document each time the computer is power cycled.
  3248.    Unless you know the exact length of your document, which is not easy,
  3249.    there is no way to avoid the problem.  In my opinion this bug makes
  3250.    Memo Processor almost useless. Those CC40 owners who told me they
  3251.    havn't had troubles with Memo Processor probably havn't used it very
  3252.    often.  Or perhaps they are just unusually lucky.
  3253.  
  3254.  
  3255.  
  3256. =============================================================================
  3257. C4ICS015 
  3258.  
  3259. --cgood:848799722:880673398:740247587:1912078336
  3260. Content-Type: TEXT/plain; SizeOnDisk=7178; name="MEMOPROC.TXT"; CHARSET=US-ASCII
  3261. Content-Description: MEMOPROC.TXT
  3262.  
  3263.      October 1990 
  3264.  
  3265.      WORD PROCESSING WITH THE CC40 USING "MEMO PROCESSOR" 
  3266.                       by Charles Good 
  3267.                     Lima Ohio User Group 
  3268.  
  3269.      For me, the most common use of my CC40 is as a laptop word processor.
  3270.      Once created, text in the battery backed RAM of my CC40 can be printed
  3271.      using the HexBus PRINTER 80 or dumped directly into TI Writer on my
  3272.      99/4A using the HexBus RS232.  The software that lets me do all this
  3273.      is the MEMO PROCESSOr solid state software cartridge for the CC40.  
  3274.  
  3275.      MEMO PROCESSOr is the official TI word processor/terminal emulator for
  3276.      the CC40.  It does a good job dealing with the main limitation of the
  3277.      CC40 for text work, the one line 31 character display.  Yes, you can
  3278.      scroll left/right across an 80 column line with the CC40, but you
  3279.      still see only 31 characters at a time.  MEMO PROCESSOR comes with a
  3280.      handy keyboard overlay and a very well written user's guide.  All you
  3281.      do is press the CC40 "ON" button, press FCTN/0 to produce RUN "MP" on
  3282.      the CC40's display, press ENTER, and you are now in word processing.
  3283.      Just begin typing! When you exit MEMO PROCESSOR you are returned to
  3284.      BASIC.  BEWARE! Performing ANY calculations or BASIC programming will
  3285.      disrupt the text you have stored in the CC40's battery backed RAM.  It
  3286.      is a good idea to save text to disk or wafertape, or dump to TI-Writer
  3287.      in the 99/4A as soon as possible. 
  3288.       
  3289.      MEMO PROCESSOR resembles the TI Writer editor in its capabilities.
  3290.      There is no "formatter" and formatting dot commands are not recognized
  3291.      as anything special by MEMO PROCESSOR or any of the HexBus printers.
  3292.      All the standard word processing functions are available including
  3293.      adjustable tabs, merging documents, find/replace string, and full
  3294.      paragraph reformat when inserting and deleting.  With a standard 6K
  3295.      RAM CC40 you can store about one 66 line 80 column single spaced page
  3296.      of text before you run out of memory with MEMO PROCESSOR.  If you have
  3297.      internally upgraded your CC40 to 18K (L.L. Conner Enterprise will do
  3298.      this for $25), you can store about 5 single spaced pages of text. 
  3299.  
  3300.      You can set the right margin for anything up to 80 columns.  The left
  3301.      margin is created at the time text is printed.  The CC40 display
  3302.      indicates the end of a print line (based on the right margin you have
  3303.      selected) and the end of paragraphs.  When initially creating text it
  3304.      is best to set the right margin at column 28.  This insures that no
  3305.      left/right scrolling is needed to read the text.  Later the text can
  3306.      be reformatted to any margins you desire.  Reformatting is easily done
  3307.      with just three keypress.  The entire document is reformatted all at
  3308.      once.  The kind of paragraph by paragraph reformatting required in TI
  3309.      Writer's editor is neither necessary nor possible with MEMO PROCESSOR.
  3310.      Leading spaces (such as at the beginning of a paragraph) are preserved
  3311.      in reformatting.  What you cannot achieve with reformatting, or any
  3312.      other way with MEMO PROCESSOR, is right justification.  The lack of
  3313.      right justification is in my opinion the greatest deficiency in the
  3314.      word processing performance of MEMO PROCESSOR. 
  3315.  
  3316.      Saving text to a QUICKDISK or WAFERTAPE drive (I have such a device)
  3317.      is easy.  One keypress followed by entering the save file name does
  3318.      the trick.  MEMO PROCESSOR warns you if your file name already exits
  3319.      on the disk or wafertape so you won't accidently overwrite something
  3320.      important.  This is a nice touch. 
  3321.  
  3322.      When viewing text you can move to the beginning or end of the text or
  3323.      GO TO any location within the text (any specified row and column) with
  3324.      just one or two keypresses.  You can also automatically scan the text
  3325.      in order to read the whole document.  The computer automatically moves
  3326.      successive blocks of text onto the screen in such a text scan, and the
  3327.      length of time each block of text is displayed can be adjusted by the
  3328.      reader. 
  3329.  
  3330.      When it is time to print text to a HexBus printer (or the HexBus
  3331.      RS232), you can alter any of these options under software control:
  3332.      page length, number of print lines per page, and left margin.  You can
  3333.      also specify the printer device number, compressed or normal size
  3334.      print (Compressed is an option with the HexBus printer plotter; the
  3335.      HexBus Printer 80 supports only normal sized text.), spacing (number
  3336.      of line feeds after each carriage return) and pause between pages (if
  3337.      you are using single sheets of paper).  If you are printing to a
  3338.      regular (non HexBus) serial or parallel printer via the HexBus
  3339.      RS232/PIO interface peripheral, you can control strobe level, baud
  3340.      rate, parity, nulls after carriage return, and number of data and stop
  3341.      bits. 
  3342.  
  3343.      The MEMO PROCESSOR is also a terminal emulator designed to send and
  3344.      receive data from other computers via the HexBus RS232 and the HexBus
  3345.      modem.  You can use any modem but you must have a HexBus RS232 to do
  3346.      this.  When used in this way, MEMO PROCESSOR controls the following:
  3347.      baud rate (110 or 300), data bits, transmit parity, stop bits, check
  3348.      parity on receive, and duplex.  The major limitation to MEMO PROCESSOR
  3349.      as a terminal emulator is the top speed of 300 baud for sending text.
  3350.      Most BBS's and information networks can work at much higher speeds,
  3351.      and some BBS's don't accept speeds as low as 300 baud.  However, you
  3352.      must remember that MEMO PROCESSOR was designed to work with the HexBus
  3353.      modem which has a maximum baud rate of 300, and that both products
  3354.      were made in 1983/84 when 300 baud was much more common than the
  3355.      higher baud rates used today. 
  3356.  
  3357.      When receiving text from a remote source or when text you are sending
  3358.      is duplexed back onto the CC40's display, the text scrolls very
  3359.      rapidly across the display at a rate that makes it difficult to read.
  3360.      When receiving text, you really can't read the text until later when
  3361.      you scan the contents of the CC40's text buffer at your own pace. 
  3362.  
  3363.      Rather than PRINT DOC to my RS232 from the word processing part of
  3364.      MEMO PROCESSOR, I use SEND DOC from the terminal emulator part of MEMO
  3365.      PROCESSO.  I do this to move text directly to my HexBus RS232 and then
  3366.      across a cable to my 99/4A's RS232 where the text loads directly into
  3367.      TI Writer The reason I choose SEND DOC instead of PRINT DOC is that
  3368.      the defaults of my TI RS232 exactly match the defaults of SEND DOC.  I
  3369.      don't have to change any of the defaults on either computer to port
  3370.      text this way directly into TI Writer.  As a matter of fact, when I
  3371.      get through typing this paragraph as I sit on my front porch with my
  3372.      CC40 in my lap pecking away on the keyboard with one finger of each
  3373.      hand, I'm going to go inside and dump this article to my TI for
  3374.      processing with Funnelweb.  BYE! 
  3375.  
  3376. ==============================================================================
  3377. C4ICS0016 
  3378.  
  3379. --cgood:848799722:880673398:740247587:1912078336
  3380. Content-Type: TEXT/plain; SizeOnDisk=27198; name="MICROPEN.TXT"; CHARSET=US-ASCII
  3381. Content-Description: MICROPEN.TXT
  3382.  
  3383.      PUBLISHED IN MICROPENDIUM DECEMBER 1994
  3384.      
  3385.      TI`S CC40 COMPUTER SYSTEM
  3386.      by Charles Good
  3387.  
  3388.      The CC40 (which stands for "Compact Computer 40") was in early 1983
  3389.      TI`s first ever entry into the portable computer market.  It is in
  3390.      many respects a little brother to the 99/4A, so much so that
  3391.      Funnelweb's senior author Tony McGovern calls the CC40 "Little Tex".
  3392.      This article, based on my own experience using the CC40 system,
  3393.      describes the CC40 computer and its tiny peripherals. Some of these
  3394.      are very rare collectors items.  The article also lists current
  3395.      sources of supply where you can purchase the CC40, its software, and
  3396.      important peripherals.
  3397.      
  3398.      The CC40 computer is battery powered, very small, (smaller than most
  3399.      modern laptops), and it was offered with a host of small peripherals,
  3400.      most of which are also battery powered.  Without the need to plug into
  3401.      an external power source, a CC40 system allows truely portable
  3402.      computing and printing anywhere.  This little orphan is of interest to
  3403.      owners of 99/4A computers for two reasons: 1- The syntax of its built
  3404.      CC40 BASIC language is almost identical to the 99/4A's TI Extended
  3405.      Basic.  2-TI intended the 99/2, the 99/8, the 99/4A, the CC40, and all
  3406.      its tiny peripherals to be physically cabled to each other and to talk
  3407.      to each other using a propriatary bus connector called a "hexbus" that
  3408.      is found on all these machines except the 99/4A.  To make hexbus
  3409.      devices work with the 99/4A, TI intended to sell a "hexbus interface",
  3410.      a peripheral that had a hexbus connector and that attached to the
  3411.      right side of a 99/4A console.  The hexbus interface is pictured on
  3412.      the boxes that contained beige 99/4A consoles but it was never
  3413.      officially released.  I own a hexbus interface and use it regularly as
  3414.      part of the 99/4A system on a little table next to my bed.  The
  3415.      interface when combined with tiny hexbus peripherals permits an
  3416.      expanded 99/4A system to occupy very little surface area.
  3417.      
  3418.      Although the CC40 is no longer manufactured by TI, the computer,
  3419.      cartridge based software, and some of its tiny peripherals are still
  3420.      available from dealers such as those listed at the end of this
  3421.      article.  When it was introduced the CC40 had a list price of $250.
  3422.      Sales were not good in 1983 and 1984 because no mass storage device
  3423.      was made available by TI.  The promised cheap Wafertape Digital Tape
  3424.      Drive turned out to be exactly that, cheap.  It was unreliable and
  3425.      thus never released, and at that time TI had no other inexpensive CC40
  3426.      compatible mass storage device to offer the public.  In 1984
  3427.      production of this fantastic little computer ceased.  In May 1990 I
  3428.      paid $95 my new CC40.  New CC40s are available now for $49 from Jim
  3429.      Lesher, and used computers are available from several of the dealers
  3430.      listed below.  For an extra $20-25 you can purchase an expanded memory
  3431.      CC40 or have dealer installation (by L.L. Conner Enterprise) of the
  3432.      necessary chips to bring the CC40`s internal RAM to the maximum 18K,
  3433.      up from the 6K RAM found in the typical CC40.  L.L.  Conner will also
  3434.      sell you the RAM chips if you want to do the job yourself.  This extra
  3435.      memory increases the CC40`s internal buffer capacity to around five
  3436.      double spaced pages of word processing text.
  3437.      
  3438.      The CC40 measures about 9x6x1 inches, the size of a small textbook.
  3439.      It uses a 2.5MHz TMS70C20 8-bit processor and has 34K of ROM and 6K
  3440.      (expandable to 18K internally) CMOS RAM.  There is a "solid state
  3441.      cartridge" port, and the internal RAM can be further expanded with 8K
  3442.      or 16K memory expansion cartidges.  Software cartridges such as the
  3443.      Memo Processor word processing cartridge can also be inserted into the
  3444.      cartridge port.  The ROM includes a very powerful and vary familiar
  3445.      looking BASIC.  Both upper and true lower case letters (not just small
  3446.      upper case letters) are provided.  Error and system messages can be
  3447.      displayed in either English or German.
  3448.  
  3449.      I have no idea what the "40" in CC40 refers to, certainly not the
  3450.      CC40`s display.  The LCD display shows 31 characters of a single 80
  3451.      character line.  You need to move the display left/right to view the
  3452.      entire line.  Four dedicated cursor keys allow you to scroll up/down
  3453.      to view other lines or left/right within a line of text or program
  3454.      code.  The LCD display includes special indicators for such things as
  3455.      low battery, the status of the shift function and control keys, upper
  3456.      case lock, and special math functions.  Some LCD display indicators
  3457.      are user programmable.  A control on the left side of the CC40
  3458.      regulates the contrast (intensity) of the LCD display.
  3459.  
  3460.      The CC40`s keyboard consists of chicklet keys.  Alpha numeric keys are
  3461.      arranged in a 44 key qwerty typewriter layout with number keys on the
  3462.      top row, looking very similar to the 99/4A key arrangement.  No, you
  3463.      can`t easily touch type.  The alpha keys are just too close together.
  3464.      One finger pecking is the usual method of laptop data entry while
  3465.      holding the CC40 steady with your other hand.  It is not ever
  3466.      necessary to press two keys at once.  For those features such as one
  3467.      time capital letters that require the use of the SPACE, FN (function),
  3468.      or CTL (control) keys either press both keys at once or you can press
  3469.      the special key first and see an indicator on the LCD display turn on.
  3470.      You then press the second key (for instance SHIFT and then D to
  3471.      display an upper case "D", or FN and then ~ for insert), and the
  3472.      special LCD display indicator turns off.  A separate numeric keypad is
  3473.      to the right of the qwerty alphanumeric keys.  The number keys on the
  3474.      top row of the qwerty layout are duplicated in this keypad.  Special
  3475.      keys are included for cursor movement (4 dedicted keys), BREAK, RUN,
  3476.      ON, OFF, and reset.
  3477.      
  3478.      A very important feature of the CC40 is that any BASIC program or any
  3479.      word processing document entered into the CC40`s RAM stays there even
  3480.      after the computer is turned off.  Four alkaline AA cells are said to
  3481.      provide enough power for 200 hours of operation and my experience
  3482.      shows that these batteries will last many months of "computer off"
  3483.      time.  Compare this to the 2-4 hours most "modern" laptops will run
  3484.      using their batteries.  The CC40 and all its small battery powered
  3485.      peripherals can also be powered with an AC adapter.
  3486.  
  3487.      The BASIC that comes as standard equipment on the CC40 closely
  3488.      resembles T.I. Extended Basic, but lacks most of the 99/4A's graphic,
  3489.      color, and sound features.  There are no sprites and only one kind of
  3490.      programmable BEEP.  Multi line statements up to 80 characters in
  3491.      length are supported, as are user defined subprograms with variables
  3492.      independent of the main program.  Seven characters (ASCII 0-6) can be
  3493.      user defined with CALL CHAR on a 5x8 pixel grid.  CALL`s relating to
  3494.      assembly code include POKE, LOAD (an assembly subprogram from an
  3495.      external device), PEEK, and EXEC (starts an assembly language
  3496.      program).  Two dimensional arrays are supported.
  3497.  
  3498.      Typing BASIC code into the CC40 is made easy with automatic line
  3499.      numbers (NUM) as in TI extended basic.  DELETE will delete one line
  3500.      number or a specified group of line numbers from the middle of a BASIC
  3501.      program.  You can, if you want, type the words for BASIC functions and
  3502.      commands with the alpha keys one letter at a time.  However many BASIC
  3503.      commands and functions can also be displayed on screen by pressing
  3504.      only 1 or 2 keys.  A plastic keyboard overlay that comes with the CC40
  3505.      shows these special keypresses, most of which involve pressing the CTL
  3506.      or FN key followed by another key.
  3507.  
  3508.      A particularly powerful feature you can access from command mode or
  3509.      from a running BASIC program is CALL DEBUG, which brings up a built in
  3510.      assembly language monitor and memory manager.  This is designed to be
  3511.      used with the CC40`s Editor Assembler Module (never officially
  3512.      released), but can also be used by itself.  When in the DEBUG monitor
  3513.      you can display, modify, or copy any memory in hex.  You can also
  3514.      change the microprocessor`s program counter, stack pointer, and status
  3515.      register.  You can set break points, single step through assembly
  3516.      code, start execution at a given address, and control paging in and
  3517.      out of system ROM and cartridge ROM.  DEBUG is very powerful, and it
  3518.      is built into the CC40 for use whenever needed.
  3519.  
  3520.      Up to 9 user defined hot keys can be set up to instantly display a
  3521.      preset string of up to 80 characters.  Hot keys remain in battery
  3522.      backed memory even after the CC40 is turned off.  FN + 1-9 are the
  3523.      potential hot keys.  These can, for example, be set up for commonly
  3524.      entered BASIC code, number sequences used in math calculations, or
  3525.      short text memos such as names and addresses.
  3526.  
  3527.      No little calculator can do a better job than the CC40 for the display
  3528.      of chain number calculations.  I routinely use the CC40 to balance my
  3529.      checkbook and to calculate student grades from a series of numerical
  3530.      student exam scores.  You can type in up to 80 characters of
  3531.      mathematical numbers and symbols (such as 112.56+56.35-45-54.95+12)
  3532.      and then scroll left/right to make sure that all your numbers are
  3533.      correctly entered before pressing <enter> to display the answer.  Then
  3534.      pressing "play back" will redisplay the numbers of the chain
  3535.      calculation that gave you that answer.  If your chain is greater than
  3536.      80 characters, you can enter part of the chain and press <enter> for
  3537.      an intermediate answer.  Then, starting with the intermediate answer,
  3538.      enter the rest of the numbers of the chain and press <enter> to get
  3539.      the complete mathematical answer to the entire chain calculation.
  3540.      
  3541.      You can also use the CC40 as a scientific calculator by typing in your
  3542.      calculations directly rather than writing a BASIC program to do the
  3543.      calculations.  Calculation accuracy is 13 significant figures, with 10
  3544.      significant figures usually showing on(the CC40`s display.  Scientific
  3545.      notation is supported, allowing the CC40 to deal with numbers as small
  3546.      as +/-1E-128 or as large as +/-9.9999999999999E+127.  PI, SQR, any
  3547.      other power or root, log (base 10, and base E), sine, cosine, tangent,
  3548.      arcsine, arccosine, and arctangent are all supported with special
  3549.      keypresses.  Angles are calculated in either degrees, radians, or
  3550.      grads.  A special indicator on the LCD display (DEG, RAD, or GRAD)
  3551.      shows which kind of angle is in effect.  RAD is the powerup default.
  3552.      You could easily spend $30 for a hand held scientific calculator, and
  3553.      you would still not have a 31 column display or a scrolling 80 column
  3554.      data field.  For a few more dollars you can have a CC40, which can
  3555.      function as a scientific calculator AND as a real programmable
  3556.      computer.
  3557.      
  3558.      WORD PROCESSING
  3559.      For me the most practical use of the CC40 is as a portable word
  3560.      processor.  When used as a word processing system, the following CC40
  3561.      hex bus peripherals are important:
  3562.      1- Memo Processor, a CC40 software cartridge; $20 new with an
  3563.      extensive instruction book.  Actually I prefer to use my own BASIC
  3564.      CC40 word processing program, which does not require a cartridge and
  3565.      which is more stable in the CC40's memory.  Send me $1 and I will send
  3566.      you a 99/4A disk that contains the BASIC listing of my CC40 word
  3567.      processing program plus other type in CC40 software.
  3568.      2- The Hexbus RS232; about $30-75 depending on whether you purchase
  3569.      the parallel printer cable option.  This is a VERY important
  3570.      peripheral.  The parallel cable option lets you print to a regular
  3571.      parallel printer from the CC40.  Even without the parallel cable
  3572.      option the RS232 lets you send word processing text or other data to
  3573.      another computer.  To send word procesing text from a CC40 to a 99/4A
  3574.      use a hexbus cable to connect the CC40 to a hexbus RS232 peripheral
  3575.      and run a serial cable from it to the RS232 port of your 99/4A.  (L.L.
  3576.      Conner can custom make the needed serial cable for you.)  Cabled this
  3577.      way you can send text directly from the CC40 into TI Writer or the
  3578.      Funnelweb editor without using a terminal emulator program or null
  3579.      modem on the 99/4A.  Here's how.  From TI Writer type "LF" (load file)
  3580.      and specify "RS232.CR" as the file name.  Then using either Memo
  3581.      Processor or my own CC40 BASIC word processing program tell the CC40
  3582.      to SEND its text.  Text will flow out of the CC40 and into the TI
  3583.      Writer edit buffer.  When the computer lights stop flashing press
  3584.      FCTN/4 on the 99/4A and your text originally entered into the CC40
  3585.      will be displayed on the 99/4A's monitor ready for further editing and
  3586.      saving to a TI disk.  The Hexbus RS232 is the only hexbus peripheral
  3587.      that is not battery powered.  It needs an AC adapter.  
  3588.      3- The hexbus PRINTER 80; around $100 new or used.  This small (about
  3589.      13x6x2 inches) 80 column thermal dot matrix printer is powered by 4
  3590.      "D" batteries or an ac adapter.  It uses small ribbon cartidges to
  3591.      print on ordinary 8.5 x 11 inch typing paper or you can print on rolls
  3592.      of 8.5 inch wide FAX paper without the ribbon cartridge.
  3593.      
  3594.      Thus for an investment of $150 ($50 for the CC40 and $100 for the
  3595.      Printer 80) you can have a totally portable battery powered word
  3596.      processing system using my BASIC word processing software.  For an
  3597.      extra $70 ($50 for a new hexbus RS232 from Jim Lesher and $20 for Memo
  3598.      Processor) you can have everything you need for a complete word
  3599.      processing package.  I am composing this article on my CC40.  This
  3600.      paragraph is being written while sitting on a bench in the quadrangle
  3601.      of the O.S.U. Lima Campus enjoying the sun.  Other paragraphs will be
  3602.      written later today sitting on my fromt porch at home and laying in my
  3603.      bed watching the evening news on TV.  Then I will dump the text, via
  3604.      my hexbus RS232, to the Funnelweb (TI Writer) editor on my 99/4A and
  3605.      save it from there to a 99/4A disk that I will send to Micropendium.
  3606.      This is truely portable word processing! A CC40 system is absolutely
  3607.      the cheapest word processing system it is possible to purchase
  3608.      anywhere.  Compare these prices to the cheapest "modern" laptop
  3609.      computer advertised in Computer Shopper or the nonbattery powered
  3610.      dedicated word processor/printers with little flip up screens
  3611.      (Brother, Smith/Corona, and similar brands) sold in retail stores,
  3612.  
  3613.      OTHER PERIPHERALS
  3614.      In addition to the peripherals described above the following two
  3615.      hexbus peripherals are sometimes still available new or used from
  3616.      dealers.  All  hexbus peripherals should be purchased with a hexbus
  3617.      cable.  Make sure you get one with each peripheral you purchase.  You
  3618.      daisy chain the needed peripherals together with such cables and
  3619.      connect the first peripheral in the chain to the CC40.  Most hexbus
  3620.      peripherals measure about 6x4.5x1.5 inches and are designed to neatly
  3621.      stack on top of each other.
  3622.      
  3623.      ---Hexbus Printer Plotter.  This cute little printer uses adding
  3624.      machine paper to print on.  There are four little ball point pens,
  3625.      each of a different color.  Replacement pens can still be purchased at
  3626.      Radio Shack stores.  You can program the X-Y axis movement of each pen
  3627.      as you print multicolored graphs, and drawings.  Several different
  3628.      text sizes from teeny tiny to about 1 inch tall are available.  Text
  3629.      can be printed in any direction (vertically facing either left or
  3630.      right,  horizontally, and even upside down).  Although this printer
  3631.      does have some unique features, it is not really useful in printing
  3632.      documents.  Also, it has some reliability problems.  There is an
  3633.      internal plastic gear that has a history of breaking (Cecure has a
  3634.      metal replacement gear), and its alkaline battery is soldered in and
  3635.      cannot easily be replaced.  If the battery fails to hold a charge you
  3636.      are out of luck even if you use the optional AC adapter.
  3637.      
  3638.      ---Hexbus Modem.  This is a 300 baud direct connect modem with rear
  3639.      connectors for two hexbus cables and two RJ11 phone cables.  I am told
  3640.      that electronically it has properities that are identical to the
  3641.      99/4A's acoustic "telephone coupler" modem.  It works well, but today
  3642.      would probably be considered little more than a toy.  It has been a
  3643.      long time since computer data crawled along phone lines at a speed of
  3644.      only 300 baud.  Many information services and BBS systems do not
  3645.      support such a slow speed any more.
  3646.      
  3647.      AVAILABLE SOFTWARE:
  3648.      The following official TI software cartridges for the CC40 are
  3649.      available new for $20 each from Cecure Electronics and sometimes less
  3650.      from other dealers listed below.  Each cartridge comes with a well
  3651.      written user guide.  Learn Pascal.  Memo Processor.  Finance.
  3652.      Elementary Engineering.  Statistics.  Math.  Games.
  3653.      
  3654.      I have about 25 CC40 BASIC programs, including the word processing
  3655.      program, which I will be glad to send you.  Some of these programs
  3656.      take advantage of the special features of various hexbus peripherals.
  3657.      Either send me a quickdisk (see below) and a paid return mailer or
  3658.      send me $1.  Those sending money will get a 99/4A SSSD disk by return
  3659.      mail which contains text file listings of my CC40 BASIC software
  3660.      library.
  3661.      
  3662.      THE MASS STORAGE PROBLEM
  3663.      Lack of mass storage options is why the CC40 failed commercially in
  3664.      1984/84 and this is still a big problem for CC40 owners today.  Since
  3665.      I use the CC40 mostly for word processing, I can usually get along
  3666.      without mass storage.  Text I enter into my BASIC word processing
  3667.      program for the CC40 (or into Memo Processor) is conserved for weeks
  3668.      or months in the battery backed RAM of the computer until I can dump
  3669.      the text to my 99/4A system via the hexbus RS232.  The following mass
  3670.      storage options are possible:
  3671.      
  3672.      ---8K Memory Expansion.  About $30 used.  Functionally this resembles
  3673.      the 99/4A's Mini Memory cartridge.  The 8K CC40 cartridge is battery
  3674.      backed and can be used either for program storage or as memory
  3675.      expansion, but not both.  These 8K battery backed cartridges are not
  3676.      very common anymore, but some are still available from dealers listed
  3677.      below.   You can purchase a bunch of these and store one BASIC program
  3678.      in each cartridge.  Program storage only works if you have a 6K CC40.
  3679.      If you are using an enhanced 18K CC40, the 8K cartridge can only be
  3680.      used for memory expansion.
  3681.      
  3682.      Combined use of the battery backed cartridge for program loading and
  3683.      the non battery backed 16K cartridge for RAM expansion works very well
  3684.      with my Basic word processing program.  16K cartridges are still
  3685.      commonly available for about $30-40 from dealers.  First I plug in an
  3686.      8K cartridge that contains my word processing program and transfer
  3687.      that program to to the RAM of my 6K CC40.  I then unplug the 8K
  3688.      cartridge and plug in the 16K RAM expansion cartridge.  Executing a
  3689.      CALL ADDMEM adds the 16K to the 6K already in the CC40 giving me 18K
  3690.      of RAM (I don't know why its not 22K, but it isn't), enough to store
  3691.      text (about 5 double spaced pages) using my word processing program.
  3692.      You can't do this using the Memo Processor cartridge, which must
  3693.      remain inserted in the CC40 while in use.  This is one of the reasons
  3694.      I prefer my Basic word processing program.
  3695.      
  3696.      ---TI's PC Interface.  $60 new, sold directly by TI.  This small
  3697.      peripheral, known as the PCIF, plugs into a PC parallel or LPT port
  3698.      and allows BASIC programs and data files in a CC40 to be stored on or
  3699.      loaded from a floppy disk or the hard drive of an IBM compatible
  3700.      computer.  The IBM computer then becomes your mass storage.  Sounds
  3701.      great doesn't it! Unfortunately it is a bit tricky to hook the PCIF to
  3702.      the CC40.  The PCIF was made for use with the TI74, which is a more
  3703.      modern and somewhat smaller version of the CC40.  Although the PCIF is
  3704.      electrically compatible with the hexbus, the 10 pin holes arranged in
  3705.      one straight line on the PCIF's female connector will not directly
  3706.      plug into a hexbus or a hexbus cable.  The hexbus has 8 pins arranged
  3707.      in two rows of 4.  I cut common paper clips to make short wires that
  3708.      stick snugly into the holes in the end of a female hexbus cable and
  3709.      the corresponding holes in the female connector of the PCIF, filling 8
  3710.      of the 10 PCIF connector holes.  The remaining two PCIF connector
  3711.      holes are for power, 6 volts in and out.  The CC40 has no way of
  3712.      delivering this needed power to the PCIF.  You have to modify a Radio
  3713.      Shack black cube ac-to-6vDC power adapter so you can plug the adapter
  3714.      into the last two pins of the PCIF.  Connecting my CC40 and power
  3715.      adapter as described here to the the PCIF allows me to store CC40
  3716.      software on IBM disks.
  3717.  
  3718.      ---Mechatronic QuickDisk peripheral.  This small disk drive is the
  3719.      only hexbus peripheral I have ever heard of that is not made by TI.
  3720.      It was made a German company specifically for the CC40.  I find it to
  3721.      be very fast, reliable, and easy to use for data file and program mass
  3722.      storage.  The peripheral is fairly small (7x5.5x3 inches), not battery
  3723.      powered, and uses 2.8 inch disks (not the common 3.5 inch disk size)
  3724.      to store up to 64K on each side of a flippy disk.  In 1990 I paid $110
  3725.      for a new one.  The QuickDisk drive is now out of production and there
  3726.      apparently are no new QuickDisk drives gathering dust on dealer's
  3727.      shelves.  If you can find a working used QuickDisk drive then buy it!
  3728.      Used QuickDisk drives are hard to find.
  3729.      
  3730.      ---Wafertape Digital Tape Drive.  This was going to be TI's cheap
  3731.      portable mass storage device.  It ran on batteries or an AC adapter
  3732.      and used a tiny  continuous loop tape cartridge about the size of a
  3733.      modern microcassette audio tape.  Although data was stored serially,
  3734.      it had many of the characteristics of a random access device.  For
  3735.      example, programs and data files can be loaded by file name from a
  3736.      wafertape whcih contains several different files.  I own one of these
  3737.      rare devices (serial number 0000007) and several official TI wafer
  3738.      cartridges that have a TI logo on the label.  My wafertape drive is
  3739.      not very reliable.  Many times I have saved and verified data files or
  3740.      basic programs to wafertape only to find that later I can't load this
  3741.      information back into my CC40.  Reliability problems are probably why
  3742.      TI never released this peripheral to the public. If you can find one
  3743.      to buy, Jim Lesher will sell you wafertape cartridges.
  3744.      
  3745.      ---Hexbus Floppy disk drive controller.  This also was never released
  3746.      by TI, probably because the CC40 and its peripherals were marketed
  3747.      as  an inexpensive alternative to other 1983 computer systems, and the
  3748.      hexbus floppy drive was not inexpensive.  This is the rarest and
  3749.      probably the most useful of the hexbus peripherals.  The controller
  3750.      worked with IBM compatible 360K drives and 5.25 inch disks, formatting
  3751.      DSDD at 16 256K sectors per track just like TI's never released DSDD
  3752.      disk controller for the 99/4A.  I know of four working hexbus floppy
  3753.      controllers in the whole world.  Its too bad one of them isn't mine,
  3754.      yet!
  3755.      
  3756.      SOURCES OF SUPPLY:
  3757.      ---CECURE Electronics.  P.O. Box 222, Muskego WI 53150.  Phone
  3758.      800-959-9640.  This is the official TI service and exchange center for
  3759.      the CC40 and its peripherals.  They don't sell the computer or
  3760.      peripherals but they do repair them on a flat fee exchange basis.
  3761.      They sell the following CC40 cartridges new: 16K expansion RAM ($40),
  3762.      Memo Processor and other software cartridges listed above ($20 each).
  3763.      They also have new "user guides" for those who have the computer but
  3764.      no book and a "Learn Basic" book published by McGraw Hill specifically
  3765.      for the CC40.
  3766.      
  3767.      ---Jim Lesher, 722 Huntley, Dallas TX 75214. Phone 214-821-9274
  3768.      A nice selection of new and used CC40s ($50 for a new 6K CC40), HexBus
  3769.      peripherals, and rare documentation.  Write or call for a current
  3770.      product list.  He is the only source I know of for 8K battery backed
  3771.      RAM cartridges.  Jim also sells software cartridges and 16K expansion
  3772.      RAM cartridges and has the two books mentioned above.
  3773.      
  3774.      ---L.L. Conner Enterprise, 1521 Ferry St. Lafayette Indiana 47904.
  3775.      Phone voice 317-742-8146 or fax 317-423-4879.  A source of used and
  3776.      (occationally ) new CC40 computers, Hex Bus peripherals, and cartridge
  3777.      software.  Phone almost anytime for a list of what is currently in
  3778.      stock.  Larry Conner will upgrade CC40s from 6K to 18K of internal RAM
  3779.      or sell you the chips to do it yourself.  He will also make the serial
  3780.      cable to hook a hexbus RS232 to the 99/4A RS232.
  3781.  
  3782.      ---Texas Instruments.  Phone 800-TI-CARES and have your credit card
  3783.      ready to order the PCIF, which is considered by TI-CARES
  3784.      representatives to be a TI74 or TI95 product.  TI is the only source I
  3785.      know for this peripheral.  It is part number 1065751-0001 and costs
  3786.      $60 plus shipping and state sales tax.  You may have to tell the
  3787.      TI-CARES phone representative to type in "TI74" on her terminal to
  3788.      find the sales listing for the PCIF.  TI also sells an ac adapter you
  3789.      can use instead of batteries to power the CC40 and some of its
  3790.      peripherals.  This is called the AC9201, part number 1055601-8900, and
  3791.      costs $18.95.  TI now refers all enquiries about sales and repair of
  3792.      CC40 products and hexbus peripherals to Cecure Electronics.
  3793.      
  3794.      ---Charles Good, P.O. Box 647, Venedocia OH 55894.  Phone
  3795.      419-667-3131.  That's me, the author of this article.  Send me $1 and
  3796.      I will send you what I have in the way of CC40 BASIC software as
  3797.      described earlier in the article.
  3798.  
  3799.  
  3800. =============================================================================
  3801. C4ICS017
  3802.  
  3803.  
  3804. Content-Type: TEXT/plain; SizeOnDisk=5903; name="MODEM.TXT"; CHARSET=US-ASCII
  3805. Content-Description: MODEM.TXT
  3806.  
  3807.      ORIGINALLY PUBLISHED IN LIMA NEWSLETTER MAY 1995
  3808.  
  3809.    THE PORTABLE HEXBUS MODEM
  3810.    by Charles Good           
  3811.    Lima Ohio User Group       
  3812.                                
  3813.       Those familiar with my TI computer writings already know that I
  3814.    am fond of the CC40 computer for portable word processing.  It is
  3815.    small and easy to carry around, and its batteries last for hundreds
  3816.    of hours of "computer on" time.  I have written about how I can dump
  3817.    text from my CC40 directly to the Funnelweb editor by cabling the
  3818.    CC40 and 99/4A together.  Well, there is another way to transfer word
  3819.    processing text between the CC40 and a 99/4A.  You can do it remotely
  3820.    and totally portably using the hexbus modem.
  3821.  
  3822.       The hexbus modem is lightweight and small 300 baud battery
  3823.    powered device that follows the Bell 103 protocol and can connect to
  3824.    any other Bell 103 compatible modem (most are).  It is about 1/3 the
  3825.    size of a CC40.  Power comes from four AA batteries or an optional AC
  3826.    adapter.  When you buy the modem you also get a user guide, an 8 inch
  3827.    hexbus cable, and an eight foot telephone cable with RJ11 plugs at
  3828.    both ends. There is a power on/off switch on the front and another
  3829.    on/off switch on the back to connect the modem to the telephone line
  3830.    once a phone has been dialed and you hear the other computer's
  3831.    carrier tone. Also on the back are two RJ11 receptacles, two hexbus
  3832.    jacks and an external power input jack.
  3833.  
  3834.      To use the hexbus modem you connect directly to the CC40 with the
  3835.    hexbus cable.  You put the phone line in one of the modem's RJ11
  3836.    jacks and use the 8 foot phone cable to link the modem to an actual
  3837.    telephone that you use to dial the phone number of the remote
  3838.    computer.  When this number is answered you move the switch on the
  3839.    back of the hexbus modem to the "on" position.
  3840.  
  3841.      TI's Memo Processor cartridge is designed to be used with the
  3842.    modem.  With it you can create text documents and uppload them to a
  3843.    remote computer or you can capture some text and save this text as a
  3844.    word processong document.  You can also talk to the hexbus modem in
  3845.    BASIC.  It recognizes the following CC40 BASIC statements: OPEN (for
  3846.    INPUT, OUTPUT, or UPDATE which is both), CLOSE, INPUT, LINPUT, PRINT,
  3847.    and EOF.  Files are SEQUENTIAL, either DISPLAY (for text) or INTERNAL
  3848.    (for programs), and have VARIABLE record lengths.
  3849.  
  3850.      Either the Memo Processor cartridge or the BASIC OPEN statement
  3851.    can be used to specify the modem's configuration options.  These
  3852.    include answer/originate (default answer), data bits 7 or 8 (default
  3853.    7), parity (there are 5 options here, default is odd) stop bits 1 or
  3854.    2 (default 1), echo on/off (default on), Transfer type (how incoming
  3855.    data is sent from the modem into the CC40 - 3 options), stop
  3856.    receiving if data overrun (default Y), transmit
  3857.    and/or LF at end of each record (default both), and display "CARRIER
  3858.    DETECT" when remote modem carrier first detected (default Y).
  3859.  
  3860.      The neat thing about the Hexbus Modem is that it doesn't need an
  3861.    RS232 interface and it doesn't need any external electricity.  You
  3862.    cable the Hexbus modem directly to the CC40 (or TI74) and use the
  3863.    internal batteries of these two devices for power.  The main
  3864.    disadvantage of the hexbus modem is that it is only 300 baud.  That
  3865.    is the only baud rate available.  If you want to use a faster modem
  3866.    you need to have a hexbus RS232.  You cable the hexbus RS232 to the
  3867.    CC40 and connect the fast modem to the 25 pin serial port of the
  3868.    hexbus RS232.  Both the hexbus RS232 and the fast modem will need an
  3869.    external source of electricity.
  3870.  
  3871.      300 baud is just fine for transferring text directly into a remote
  3872.    99/4A running a TI-Writer clone such as the Funnelweb editor. I am
  3873.    writing this article in Michigan, and I am going to phone my Ohio
  3874.    home and tansfer this text to my home 99/4A for further formatting
  3875.    and storage as a DV80 file on a 99/4A formatted disk. When I call
  3876.    home my 14 year old son will turn on my 99/4A, bring up the Funnelweb
  3877.    text editor, type LF, and specify "RS232.CR" for the incoming file
  3878.    name.  Then he will activate my 99/4A's external modem.  I, in
  3879.    Michigan, will tell my CC40 software to "Send" "document", and this
  3880.    text will go out over the phone lines into my Ohio computer.  When
  3881.    the RS232 light on my Ohio 99/4A stops blinking my son will press
  3882.    CLEAR (FCTN/4) and the text will be displayed on the 99/4A's monitor.
  3883.    He will then SF the text to disk.  Neat!
  3884.  
  3885.    I can also call my local library and access their on line catalog
  3886.    catalog with my CC40 and hexbus modem.  The library puts out an 80
  3887.    column 24 line display.  It is kind of hard windowing L/R and U/D
  3888.    with the CC40 to see this display, but it can be done.  Even with a
  3889.    CC40 there is enough memory to hold one page of such a remote
  3890.    display.  Quite frankly, for accessing the library catalog I prefer a
  3891.    computer with a real multi line 80 column display.
  3892.  
  3893.      By modern standards 300 baud is very slow and some on line do not
  3894.    support this slow baud rate.  But the hexbus modem has its its
  3895.    usefulness.  For sending CC40 text it is perfect, since neither Memo
  3896.    Processor nor the Funnelweb editor accept baud rates faster than 300.
  3897.    I think the hexbus modem/CC40 combination was the first totally
  3898.    battery powered telecommunication package ever available to the
  3899.    public in 1984.  The Tandy 100 computer, battery powered with a built
  3900.    in modem, came later.
  3901.  
  3902.       Sources of supply:  CECURE will sell you a hexbus modem for $30
  3903.    plus $5 shipping.  Call them at 414-679-4343.  Jim Lesher also has
  3904.    hexbus modems. Call him at 214-821-9274 for price and availability.
  3905.  
  3906.  
  3907. =============================================================================
  3908. C4ICS018 
  3909.  
  3910. Content-Type: TEXT/plain; SizeOnDisk=6512; name="NAMEADD.TXT"; CHARSET=US-ASCII
  3911. Content-Description: NAMEADD.TXT
  3912.  
  3913. June 1991  
  3914.  
  3915.  
  3916. USING THE CC40 AS A PORTABLE DATA BANK: A BASIC PROGRAM FOR THE CC40  
  3917. by Charles Good 
  3918. Lima Ohio User Group 
  3919.  
  3920. Have you seen those electronic "organizers" in the department stores? They
  3921. are battery powered dedicated computers that look like large calculators.
  3922. Marketed under names such as "THE BOSS" or "THE ORGANIZER", they are
  3923. designed to store lists of names and adresses or hour by hour appointment
  3924. calendars.  With these devices it is easy anywhere and anytime to sort
  3925. through a large data base for a particular name, address, or phone number.
  3926. With many of these devices you can download their data to a desktop PC or
  3927. print the information on a printer. 
  3928.  
  3929. Well, you can do the same thing with a CC40.  Since the CC40 has CMOS RAM,
  3930. any BASIC program entered into the CC40 stays in memory even after the
  3931. computer is turned "off".  BASIC programs will remain in the CC40's memory
  3932. for many months in the "computer is turned off" mode before the batteries
  3933. finally need to be changed.  Short appointment calendar notes or address
  3934. lists can be stored in the CC40 as text that is displayed when any of the
  3935. ten user programmable hot keys are pressed from command mode.  Data can
  3936. also be stored as part of a memory resident BASIC program, but there is a
  3937. potential problem with this method.  Although the CC40 retains a BASIC
  3938. program in memory when it is turned "off", it does NOT retain any of the
  3939. numeric or string variables generated by the BASIC program.  There are CC40
  3940. programs in my software library that allow you to open a disk (or
  3941. wafertape) file and read in a list of names addresses and phone numbers.
  3942. When you do this and then later turn the CC40 "off" to conserve battery
  3943. power, the BASIC program remains in memory.  However, the data read in from
  3944. disk and stored in strings is GONE! There is certainly no advantage to the
  3945. CC40's portability if you have to go to a disk or tape drive every time you
  3946. want to look up someone's phone number! The solution to this problem is to
  3947. store your information as an actual part of the BASIC program, in line
  3948. numbers with REM remarks or DATA statements.  When stored this way, your
  3949. data is retained in the CC40's memory even when the CC40 is "off". 
  3950.  
  3951. I wrote the CC40 program below to deal with this situation.  A somewhat
  3952. similar CC40 program was published in Vol 1 #2 of ENTHUSIAST 99, but it
  3953. doesn't work on many CC40's because it POKES to an absolue memory address.
  3954. My program works! It stores a name/address/phone list as data statements.
  3955. Only one person's data at a time is READ into string variables.  Thus, the
  3956. CC40's memory is not wasted storing the entire data bank twice, once in
  3957. DATA statements and a seccond time in strings.  From the running program
  3958. you can view all the data or search for the data of one particular person
  3959. by inputting the person's last name.  I have REMed lines 130-150 that allow
  3960. you to view all names because this feature will only rarely be used.  To
  3961. view all names it is just as quick to LIST the data statements to screen or
  3962. printer.  Because of the POS statement in line 200, you don't even have to
  3963. spell the entire last name you are searching for correctly.  All you need
  3964. is a text string that is contained within the last name, such as inputting
  3965. BUCK when searching for the last name ARBUCKLE.  If the data base includes
  3966. more than one person with the same last name the program will still find
  3967. the information you want.  All data for each person is displayed on a
  3968. single 80 column line.  You can scan left/right across this line of data at
  3969. your leisure from the running program using the CC40's arrow keys. 
  3970.  
  3971. You can store about 100 program lines of names, addresses, and "other
  3972. information" as DATA statements with this program using a minimum 6K CC40.
  3973. It takes just a few seconds to find the last of the 100 DATA statements in
  3974. a name search.  Editing is easy.  From the CC40's command mode just bring
  3975. up the appropriate line number containing the DATA statement and type over
  3976. or add to the existing DATA of that line number.  To add more names to the
  3977. data bank, just create more BASIC line numbers for the additional DATA.  To
  3978. obtain a hard copy of the data you can LIST the program to a HexBus
  3979. compatable printer.  You can also use the HexBus RS232 peripheral to list
  3980. the program (with all your DATA) to a non HexBus printer or dump the
  3981. program (via a cable linking the HexBus RS232 to the 99/4A RS232) directly
  3982. into a 99/4A. 
  3983.  
  3984. A new or used CC40 (advertised for $50 in the May 1991 issue of
  3985. MICROPENDIUM) will cost less to purhase than most of the currently
  3986. available electronic "organizers".  Although you can't put a CC40 in your
  3987. pocket as can be done with many modern electronic organizers, you can
  3988. easily put the "smaller than most books" CC40 in a small briefcase or a
  3989. purse.  And you do so much more with the CC40! Unlike most of the modern
  3990. "organizers", the vintage 1983 CC40 is a portable and truely flexable
  3991. PROGRAMMABLE computer.  "Modern" does not always mean "better". 
  3992.  
  3993. Paid members of the Lima UG who own CC40's with mass storage can send a
  3994. quickdisk or wafertape and a paid return mailer to the newsletter address.
  3995. I will be glad to copy the program onto your media and send it back to
  3996. you. 
  3997.  
  3998. 100 REM CC40 BASIC 
  3999. 110 REM writtten by Charles Good, Lima Ohio User Group, June
  4000. 1991 
  4001. 120 PRINT "  --NAME/PHONE/ADDRESS FILE--":READALL=0:PAUSE 1 
  4002. 130 REM INPUT "READ ALL NAMES? Y/N ";YN$ 
  4003. 140 REM IF YN$="Y" THEN READALL=1:GOTO 180 
  4004. 150 REM IF YN$="y" THEN READALL=1:GOTO 180 
  4005. 160 PRINT "USE UPPER CASE TO ":PAUSE .5 
  4006. 170 INPUT "ENTER DESIRED LAST NAME- ";INPUT$ 
  4007. 180 READ FN$:IF FN$="END"THEN PRINT "END OF FILE":PAUSE 1:
  4008. RESTORE 1000:GOTO 120 
  4009. 190 READ LN$,REST$: IF READALL=1 THEN 250 
  4010. 200 IF POS(LN$,INPUT$,1)=0 THEN 180 
  4011. 210 INPUT "Is the person "&FN$&LN$&"? ";YN$ 
  4012. 220 IF YN$="Y" THEN 250 
  4013. 230 IF YN$="y" THEN 250 
  4014. 240 GOTO 180 
  4015. 250 PRINT FN$&" "&LN$&" "&REST$:PAUSE 
  4016. 260 IF READALL=1 THEN 180 
  4017. 270 RESTORE 1000:GOTO 120 
  4018. 970 REM FIRST NAME,LAST NAME,OTHER INFORMATION such as phone
  4019. number and address 
  4020. 980 REM Use ONLY UPPERCASE for first and last names. Commas
  4021. are required after 
  4022. 990 REM the first and last name. Use no commas in the OTHER
  4023. INFORMATION field. 
  4024. 1000 DATA BARBARA,GOOD,616-857-2256 11 LAKESHORE DR. DOUBLAS
  4025. MI 49406 
  4026. 1010 DATA IAN,GOOD,419-667-3131 15276 MAIN VENEDOCIA OH
  4027. 45894 
  4028. 1020 DATA JACK,TURNER,CHESTNUT LANE DOUGLAS MI 49406 
  4029. 10000 DATA END 
  4030.  
  4031. =============================================================================
  4032. C4ICS019
  4033.  
  4034.  
  4035. Content-Type: TEXT/plain; SizeOnDisk=3646; name="OEMCC40.TXT"; CHARSET=US-ASCII
  4036. Content-Description: OEMCC40.TXT
  4037.  
  4038.      June 1991 
  4039.  
  4040.      WHEN IS A CC40 NOT A CC40? 
  4041.      by Mike Wright 
  4042.      45 Centerville Dr. 
  4043.      Salem NH 03079 
  4044.  
  4045.      Although TI pulled out of the Home Computer business in 1983, it did
  4046.      not drop its other computer lines.  The TI Pro, an IBM compatible,
  4047.      surived for awhile before it too sucumbed.  The CC40 continued to be
  4048.      sold until at least 1988, BUT NOT BY TI! 
  4049.  
  4050.      Now the CC40 is a typical TI product - well built, well documented,
  4051.      and designed to handle that TI staple, the removable software module.
  4052.      But by 1988 it was showing its age with a 31 character one line
  4053.      display and should have been long gone. 
  4054.  
  4055.      One reason for its longevity may have been that TI had OEMed the CC40.
  4056.      OEM stands for Original Equipment Manufacturer.  You can see many
  4057.      examples of the practice in Radio Shack calculators.  TI or someone
  4058.      like Casio actually manufactures the calculator, and then puts the
  4059.      seller's name on it. So if you buy it at Radio Shack it's a Radio
  4060.      Shack calculator.  Elsewhere it's a TI calculator.  Except for the
  4061.      name, they are the same. 
  4062.  
  4063.      At the Lima Multi Group Conference in May 1991 I was shown two
  4064.      advertisements.  The first was from MCC Powers, 2942 MacArthur Blvd.,
  4065.      Northbrook IL 60062.  In the Feb 85 issue of HEATING, PIPING, AND AIR
  4066.      CONDITIONING magazine, the company ran an ad titled "New Powers within
  4067.      your reach".  An MCC Powers computer is shown in dramatic color
  4068.      alongside the text: "Now spec affordable energy management for
  4069.      buildings as small as 50,000 sq ft.  Choose the system over 300
  4070.      customers have already picked: the MCC Powers Stand alone Energy
  4071.      Management System." The computer pictured is simply a CC40 with the
  4072.      name "MCC Powers" in place of the standard TI logo. You can still see
  4073.      the a TI logo on the lower left of the "MCC Powers computer"
  4074.      illustrated in the ad.  MCC supplied software to accomplish the stated
  4075.      task, but the module slot in the illustrated "MCC Powers Computer" is
  4076.      either blank, or else the module was black and did not have a label
  4077.      showing through the module window. 
  4078.  
  4079.      The other company was Guhring Inc., 1455 Commerce Ave, Brookfield WI
  4080.      53005.  Their product was called "Guroguide I", which was a CC40 with
  4081.      their own module.  I contacted the company and they were kind enough
  4082.      to send me their last color brochure.  They stopped selling the
  4083.      Guroguide about two years ago. 
  4084.  
  4085.      According to their brochure: "The Guroguide I computer drill selector
  4086.      consists of a Texas Instruments hand held computer with a 32K EPROM
  4087.      cartridge containing the drill selection program.  It contains all the
  4088.      data necessary for most drilling applications and, with minimum input
  4089.      from you selects the proper tool and presents you with a 3-digit
  4090.      catalog number.  It automatically calculates spindle speed (RPM),
  4091.      penetration rate (IPM), net drilling time, and required peck cycles." 
  4092.  
  4093.      The top of the computer illustrated in the brochure, from the left
  4094.      edge to the module port, was silkscreened in large letters to display
  4095.      GUROGUIDE.  Guhring advertised the Guroguide in the Feb 88 issue of
  4096.      INDUSTRIAL MAINTENANCE PLANT OPERATORS magazine. 
  4097.  
  4098.      Given the above, my suggestion is that TI was able to establish an OEM
  4099.      market for the CC40.  This is one reason why the machine was not
  4100.      dropped, like the 4A.  In fact, software and some peripherals for the
  4101.      CC40 are still available directly from 1-800-TI-CARES. 
  4102.  
  4103. ===========================================================================
  4104. C4ICS020 
  4105.  
  4106. Content-Type: TEXT/plain; SizeOnDisk=5149; name="ORPHAN.TXT"; CHARSET=US-ASCII
  4107. Content-Description: ORPHAN.TXT
  4108.  
  4109. APRIL 1992
  4110.  
  4111.  
  4112.       THE OTHER TI COMPUTER ORPHAN  
  4113.      by Gary Fitzgerald 
  4114.      Nutmeg 99ers and Lima Ohio UG 
  4115.       
  4116.      I have secret information that a few members of your
  4117. user group are in fact DOUBLE TI ORPHANS.  The tapping of
  4118. chicklet-like keys has given you away!  There are those
  4119. among you that possess a CC-40.  Well, so do I.  and in
  4120. recent months, I too have begun to take the little bugger
  4121. off the shelf and USE IT.  Allow me to tell my tale. 
  4122.       
  4123.      Some years back I purchased a CC-40 for no good reason
  4124. except that it was there, and cheap.  I played around for a
  4125. bit, worked out programming problems on it before
  4126. reprogramming for the 99/4A.  And then it sat on the shelf
  4127. until I got wind of a small but active UG in Lima Ohio.  I
  4128. began a very rewarding correspondence with Charles Good and
  4129. ordered up a bunch of disks from their library, which is
  4130. quite extensive.  And in among those disks were a series of
  4131. articles about the CC-40, more information than I had ever
  4132. seen.  In this article I want to show you what you may not
  4133. already know about your 9" by 6" by 1" "computer".  Did you
  4134. know there is a disk drive for it.  And an 80 column printer
  4135. for SEVENTY BUCKS!  And a printer/plotter!  and an RS2342
  4136. with a parallel output option as well!  And now - the big
  4137. news.  You can prepare a document using the Memo Processor -
  4138. Telecommunications cartridge and port it over to Funnelweb!
  4139. You need the proper cable (not TI's serial printer cable) to
  4140. connect the CC40's RS232 to the TI's RS232. The cable and
  4141. both kinds of RS232s are available from L.L. Conner
  4142. Enterprise.  This cable has to be properly configured and I
  4143. suppose if I took out my Radio Shack Multitester I could
  4144. tell you the proper pin-ins and outs so you could build your
  4145. own, but why not give Mr.^Conner a little business and
  4146. support the dealers that still support us.  Without any
  4147. further delay, I'll tell you the procedure for doing this.
  4148. I borrow liberally from Charles Good and his articles.  As a
  4149. matter of fact, I will quote directly from his letter to me. 
  4150.      --1. Boot the Funnelweb editor, type LF <enter>, then
  4151. type RS232.CR <enter>.  The 99/4A cursor locks up and ceases
  4152. to flash.  This is normal. 
  4153.      --2. After connecting thr CC40 to the HexBus RS232,
  4154. turn on the RS232 and then the CC40. 
  4155.      --3. Enter Memo Processor.  When your document in
  4156. memory is on the LCD screen, press FN and then the comma
  4157. key  (If you have the overlay, it says <COMM over the comma
  4158. key).  The CC40 says  NOW IN COMMUNICATIONS, then READY TO
  4159. COMMUNICATE. 
  4160.      --4. Press FN and the + key (SEND DOC).  The CC40
  4161. displays SENDING DOCUMENT TO HOST.  You will observe your
  4162. document's text scroll across the CC40's screen. 
  4163.      --5. When the document ceases to scroll across the
  4164. CC40's screen this means it has all been sent.  On the 99/4A
  4165. press FCTN/4 and <enter> to display the document on the
  4166. monitor of your 99/4A. 
  4167.       
  4168.      It works!  Now you can prepare text for the 99/4A
  4169. laying in bed, on the beach, or sitting in a car (on the
  4170. passenger side, lets not be rediculus!).  Anywhere your
  4171. large computer can't go there is surely room for the CC40. 
  4172.       
  4173.      Let me briefly go over what goodies are available for
  4174. this pre-laptop machine.  I will quote TI direct prices as
  4175. of November 1991 unless otherwise noted.  among the
  4176. application cartridges, the MEMO PROCESSOR, SS3004 ($20),
  4177. is probably the most useful to own.  Also available are
  4178. FINANCE, (SS3006 $20), ELECTRICAL ENGINEERING (SS3007 $20),
  4179. STATISTICS (SS3008 $20), MATHEMATICS (SS3009 $20), and GAMES
  4180. (SS3024 $20).  Also available are the 8K CONSTANT MEMORY
  4181. (SS2000 $30) which may be used to store programs much like
  4182. the Mini memory or to add 8K RAM to the CC40's standard 6K.
  4183. There is also a 16K cartridge (SS1000 $40) for increased
  4184. RAM.   TI also has 8 inch HexBus cables (HX C08, $9.95), an
  4185. AC adaptor (A9201 $18.95), and the PRINTER 80 (HX1010 $70)
  4186. which can be used as a thermal printer  or used with ribbons
  4187. that are available from TI and elsewhere.  I know of two
  4188. working WAFERTAPE DRIVES in existence.  These are storage
  4189. devices that resemble the Adam computer's tape drives.
  4190. There are pronter/plotters available from L.L. Conner and
  4191. Jim Lesher, but for my money the disk drive from T.A.P.E.^of
  4192. California and the PRINTER 80 are the most needed
  4193. peripherals.  Any computer is almost worthless unless you
  4194. can store your programs and call them up on demand.  You
  4195. want to type in a program every time you need it?  There is
  4196. a PASCAL cartridge unavailable from TI that seems to be way
  4197. over priced at $50 from Jim Lesher (Yes, I paid for
  4198. it...through the nose!!).  You may also upgrade the 6K to
  4199. 18K internal RAM following the directions contained on the
  4200. disk.  If you are not good with small parts or soldering,
  4201. L.L.^Conner will sell you one all done up with the extra
  4202. memory.  Jim Lesher has recently advertised good prices on
  4203. CC40s and HexBus peripherals (Micropendium, March 1992).
  4204. There are some good deals out there, particularly compared
  4205. to the cost of a "modern" laptop computer. 
  4206.  
  4207.  
  4208. ===========================================================================
  4209. C4ICS021 
  4210.  
  4211. Content-Type: TEXT/plain; SizeOnDisk=11397; name="PCIF.TXT"; CHARSET=US-ASCII
  4212. Content-Description: PCIF.TXT
  4213.  
  4214.      TI'S "PC INTERFACE" AN EASILY AVAILABLE AND RELIABLE
  4215.      MASS STORAGE ALTERNATIVE FOR CC40 AND TI74 OWNERS
  4216.      a hands on description by Charles Good
  4217.      Lima Ohio User Group
  4218.  
  4219.      The CC40 mass storage problem...  Wafertape drives are rare collector's
  4220. items.  The last unsold QUICKDISK drives for TI74s and CC40s were literally
  4221. thrown in the trash by their manufacturer (Jan 1993 BB&P, p.12).  CC40 programs
  4222. can be stored on 8K constant memory ram cartridges, but these are rather
  4223. expensive, their batteries are 10 years old, and they can no longer be
  4224. purchased new directly from TI.    Well, it turns out that the TI74
  4225. PC-INTERFACE, a $60 device available since late 1988 directly from TI, can
  4226. easily be modified for use as a mass storage device for the CC40.  (Successful
  4227. use of the PC-INTERFACE with the CC40 was first reported in the March 1993
  4228. issue of BB&P.)
  4229.      
  4230.      The TI74 is an "almost pocket sized" basic programmable calculator
  4231. operationally very similar to the CC40.  The PC-INTERFACE is designed to
  4232. allow the TI74 to directly control the printer, floppy dirves, and hard drives
  4233. of an IBM compatible (PC,XT,AT, DOS2.1 or highter) computer.  You can also use
  4234. a TI Professional computer.  The actual interface consists of a cable with a 25
  4235. pin male connector for connection to the PC's parallel port, and a straight
  4236. line 10 pin female connector to connect to the IO port of the TI74.  Some
  4237. electronic components are part of this cable. A 5.25 inch disk of software that
  4238. runs off of the PC is also included with the INTERFACE package.  This software
  4239. is needed to make the INTERFACE work properly.
  4240.      
  4241.      BB&P articles by Jim McCulloch (March 1991) and Dan Eicher (Feb 1992)
  4242. suggest how to adapt an 8 pin female hexbus cable (attached to the CC40) to the
  4243. 10 pin end of the INTERFACE.  Resistor leads or similar thin stiff wire are cut
  4244. and inserted into the appropriate holes of each cable, linking the two cables
  4245. together.  Thats all there is to it!  Electronically the hexbus and TI74 10 pin
  4246. cables are identical.  You just connect the right wires together.  Pin diagrams
  4247. are in the Eicher article.  The task is easier if you have one of the male
  4248. hexbus-to-female 10 pin commercially made adapters mentioned in the McCulloch
  4249. article.  99/4A disk files or hard copies of these articles can be obtained
  4250. from the Lima UG by sending a (disk and) paid return mailer to P.O. Box 647,
  4251. Venedocia OH 45894.
  4252.      
  4253.      To activate the interface type PCIF from the DOS prompt.  The PCIF program
  4254. runs and turns the PC into a slave of the CC40 or TI74.  The PC is now one of
  4255. four device numbers and can be accessed from the CC40/TI74 by number, just like
  4256. any other peripheral.
  4257.      14^^Printer connected to a second PC parallel port.
  4258.      45^^The PC monitor
  4259.      100^PC floppy or hard drive for program storage
  4260.      101^PC floppy or hard drive for data or program listings.
  4261.      
  4262.      PC STORAGE OF CC40 OR TI74 BASIC PROGRAMS
  4263.      You can RUN, OLD, and SAVE by entering the appropriate commands into the
  4264. CC40 or TI44.  Here are some examples of commands from the CC40 or TI74 that
  4265. activate the PC.  PC file names are limited to 8 characters plus a period and
  4266. three character file extension.  Use of file extensions as part of a PC file
  4267. name is optional.
  4268.      SAVE "100.PROGRAM" saves a basic program called PROGRAM (with no file
  4269. extension) to the same PC drive or hard disk directory as the PCIF program.
  4270.      SAVE "100.C: CC40 PROGRAM" saves a basic program to hard disk C, sub
  4271. directory CC40, file name PROGRAM.
  4272.      OLD "100.C: CC40 PROGRAM" will load the basic program saved in the above
  4273. statement.
  4274.      RUN "100.PROGRAM.PGM" will load and run a basic program called PROGRAM
  4275. (with the otpional file extension ".PGM") stored on the same disk and directory
  4276. as PCIF.
  4277.      
  4278.      USING THE PC TO CREATE AND/OR EDIT CC40 OR TI74 BASIC PROGRAMS
  4279.      LIST "45" lists the CC40 or TI74 program in memory to the PC monitor.
  4280. Editing this displayed list is apparently not possible, but you can
  4281.      LIST "101.C: CC40 PROGRAM.B74". This creates on the specified drive and
  4282. subdirectory an ASCII file of the program listing.  Later, when you are using
  4283. your PC under its own control this file can be loaded into any word processor
  4284. for editing.  You can also create a program from scratch using a PC word
  4285. processor.  Each line of this text must begin with a line number.  The edited
  4286. file can be resaved as an ASCII file.  Then you use a PC utility that comes on
  4287. the INTERFACE disk to convert this ASCII file to a runable CC40 or TI74 basic
  4288. program that is saved to a PC disk or hard drive.   Next time you hook up your
  4289. CC40 or TI74 and activate the INTERFACE (by typing PCIF) you can OLD the new
  4290. program off of the PC drive into the smaller computer.
  4291.      
  4292.      DATA STORED ON PC DISKS OR DISPLAYED ON SCREEN
  4293.      OPEN #1,"101.C CC40 FILENAME" will open a DISPLAY, VARIABLE 80, SEQUENTIAL
  4294. file named FILENAME in UPDATE mode on hard disk C, sub directory CC40.
  4295. INTERNAL and RELATIVE files are not supported by the PC INTERFACE.  You can
  4296. PRINT #1, INPUT #1, or LINPUT #1 to and from this file.  The EOF function is
  4297. available.
  4298.      
  4299.      OPEN #2,"45",VARIABLE 40,OUTPUT will display anything you PRINT #2 on the
  4300. PC's monitor in 40 columns.  OPEN #2,"45",OUTPUT will display data on screen in
  4301. 80 columns since the default is VARIABLE 80.  As mentioned above, you can also
  4302. LIST "45" a program to the screen.
  4303.      
  4304.      HOW ABOUT THE PC's PRINTER
  4305.      Almost all PCs have only one parallel output.  You have to disconnect the
  4306. printer cable from this output in order to attach the PC-INTERFACE, which can
  4307. be very inconvenient.   This means that most of us, myself included, can't use
  4308. the PC-INTERFACE to allow the CC40/TI74 to control the PC's printer.  You are
  4309. supposed to be able to LIST "14" or OPEN #1,"14",OUTPUT and PRINT #1 to the
  4310. printer.  You can control sending or not sending line feeds and carriage
  4311. returns at the end of each record. 
  4312.      
  4313.      ADDING ASSEMBLY CALLs TO THE TI74 WITH THE PC-INTERFACE
  4314.      CC40 basic has built in subprograms (PEEK, POKE, etc) relating to assembly
  4315. language which are missing from the TI74.  On the PC-INTERFACE disk are a group
  4316. of assembly subprograms that can be loaded from the PC into the TI74 and then
  4317. CALLed from a TI74 basic program, just as is done with the CC40.  Once loaded,
  4318. these assembly subprograms for the TI74 remain in memory even of the OFF button
  4319. is pressed.  Memory occupied by these assembly routines is subtracted from
  4320. memory available to basic.  This is reflected in a decrease in available memory
  4321. that shows when you type FRE(0).  Assembly routines are only lost if you enter
  4322. NEW ALL or if the TI74 is reinitialized (by pressing the reset button or taking
  4323. too much time changing batteries).  The following are available on the
  4324. PC-INTERFACE disk for loading into the TI74.  CC40 owners will be familiar with
  4325. all of these except IOX.
  4326.      --CALL CHAR (defines character patterns for ASCII 0 through 6)
  4327.      --CALL CLEANUP (deletes variable names in memory left over from previous
  4328. basic programs)
  4329.      --CALL EXEC (starts assembly routine at specified address)
  4330.      --CALL GETMEM (reserves memory for assembly program or data)
  4331.      --CALL INDIC (turns on or off the display indicators at programmer's will)
  4332.      --CALL IOX (an enhanced version of the TI74's CALL IO that is exactly
  4333. comparable to the CC40's CALL IO.  Although you can't determine this from
  4334. reading the TI74 and CC40 user guides, the CC40's CALL IO is more powerful than
  4335. the TI74's CALL IO.)
  4336.      --CALL PEEK
  4337.      --CALL POKE
  4338.      --CALL RELMEM (the reverse of GETMEM, releases memory back to basic)
  4339.      
  4340.      These subprograms add capabilities to TI74 basic that make it almost as
  4341. good as CC40 basic, but not quite.  CC40 has CALL DEBUG and CALL BEEP for
  4342. example.  One important use of these subprograms is that the TI74 can now use
  4343. the various DIRectory programs that have been written to read directories of
  4344. Quickdisk drives and Wafertape drives.  Loading CALL PEEK, CALL IOX, and CALL
  4345. GETMEM allows the TI74 to read Quickdisk and Wafertape directories with "DIR"
  4346. programs designed for use by a CC40.
  4347.      
  4348.      MISCELLANEOUS COMMENTS
  4349.      --You can't SAVE text from MemoProcessor to a PC disk in the normal way
  4350. because INTERNAL files are not supported.  You can, however, SEND DOC, from
  4351. MemoProcessor to the HexBus RS232 cabled to a PC, creating an ASCII file on a
  4352. PC disk.
  4353.      --The CC40 Editor/Assembler cartridge won't work with the PC-INTERFACE.
  4354. You can save source code, but you can't save the assembled or linked code which
  4355. is in internal format.
  4356.      --PASCAL software generated with the CC40 or TI74 PASCAL cartridge can be
  4357. saved and loaded via the INTERFACE.
  4358.      --The following CC40 and TI74 cartridges can direct output to printer or
  4359. PC monitor via the INTERFACE: Pascal, Chemical Engineering, Finance,
  4360. Mathematics, and Statistics.
  4361.      --If you own a TI95 keystroke programmable calculator, you can use the
  4362. INTERFACE to store programs as ASCII listings or as runable images, images of
  4363. 8K ram cartridges, images of MEM files, and a listing of register contents. You
  4364. can also display or print data or program listings.
  4365.      --The size in bytes of a CC40/TI74 basic program stored on a PC disk
  4366. (readable by exiting PCIF and then typing DIR on the PC from the DOS prompt) is
  4367. exactly the size of the program will occupy in the CC40/TI74's memory.
  4368.      --The BASIC TI74/CC40 word processing program by myself and Palmer Hanson
  4369. will save nicely formatted text as an ASCII file to the PC via the PC
  4370. interface.  As published in the Sept. 1992 issue of the Lima newsletter, line
  4371. 4005 of this program is in error.  It should read "101.FILENAME.DOC" instead of
  4372. "100.FILENAME.DOC".
  4373.  
  4374. ==============================================================================
  4375. C4ICS022 
  4376.  
  4377.      THE TI74 "PC INTERFACE" WORKS AS AN
  4378.      ALTERNATIVE MASS STORAGE DEVICE FOR THE CC40
  4379.      From a letter to the BB&P editor by Harry Nilsson
  4380.      Pl. 367 Lillsjoberg
  4381.      910 31 Tavelsjo SWEDEN
  4382.      
  4383.      I have the TI74 with some cartridges and the PC-Interface and some
  4384. homemade adapters so I can use the CC40 with my PC (saving programs on the PC
  4385. diskettes or harddisk. .... I prefer the CC40 because it has more "feel of
  4386. quality" then the TI74 and also more statements like CALL DEBUG.
  4387.      I haven't been able to save text from Memo Processor to the PC via the PC
  4388. interface because the PC interface doesn't work with the "internal data" file
  4389. format that MP's SAVE uses. .... But of course it is possible to save text from
  4390. MP with "Send Doc" to the PC via the PC interface or the RS232 interface (even
  4391. at 19200 baud with [FN]Q).
  4392.      There is a diskette ("Driver software and utilities" for the PC) with
  4393. assembler programs (CALL PEEK, CALL POKE, CALL HCAR, CALL LOAD and so on) for
  4394. the TI74.  I have version 1.01 that comes with the TI74 PC interface.
  4395.      
  4396.      [Charles Good's note:  As of March 1993, the TI74 PC Interface can be
  4397. purchased directly from TI for $60 plus shipping and sales tax.  To order, call
  4398. 800-TI-CARES.  This cable plugs into the PARALLEL port of an MS-DOS PC.  The
  4399. above mentioned software is on a 360K 5.25 inch MS-DOS disk.]
  4400.  
  4401. =============================================================================
  4402. C4ICS0023
  4403.  
  4404. Content-Type: TEXT/plain; SizeOnDisk=3129; name="PDS.TXT"; CHARSET=US-ASCII
  4405. Content-Description: PDS.TXT
  4406.  
  4407. DECEMBER 1992
  4408.  
  4409.  
  4410.             A DAY AT THE RACE TRACK WITH A CC40  
  4411.       
  4412.      On page 111 of the Jan.^1990 catalog of ADVANCED
  4413. COMPUTER PRODUCTS INC. of 1310 E. Edinger, Santa Ana
  4414. California 92705 is a picture of a CC40.  But the computer
  4415. is labeled "PDS SPORTS" above the usual "Texas Instruments
  4416. Compact Computer 40" that is also shown engraved on the
  4417. computer.  The display on the computer's LED says "THE
  4418. SPORTS JUDGE".  Apparently users were supposed to take the
  4419. PDS SPORTS computer to the racetrack or to a sporting event
  4420. and enter data for up to the minute handicapping and
  4421. statistics.  Software for the PDS SPORTS computer is
  4422. apparently offered on cartridges, and most interesting of
  4423. all "Data disks" of past seasons or current season-to-date
  4424. are advertised.  Does the PDS SPORTS system include a a CC40
  4425. AND a Mechatronic Quickdisk disk drive, or are the disks in
  4426. PC format containing data that has to be manually entered
  4427. into the PDS SPORTS computer? The text of the catalog does
  4428. not make this clear.  ADVANCED COMPUTER PRODUCTS INC is a
  4429. surplus reseller.  I phoned ACP in late November 1991 and
  4430. was told they no longer had this product available.  The
  4431. person I talked to could give me no information.  Here is
  4432. the text of the 1/90 ACP catalog: 
  4433.       
  4434.       "Thoroughbred Handicapping System  
  4435.     "Handicap the entire day's card in less than one hour
  4436. using the software system designed and used by the Pro's.
  4437. approved and verified by the American association of
  4438. documented Sports Services.  As past performances and the
  4439. day's relevant information are entered the system
  4440. automatically applies proven formulas for Class, Pace,
  4441. Speed, Distance, Recency, Track Category, Trainer, Jockey,
  4442. or harness Driver.  ACP of course makes no guarantee on
  4443. these programs.  All Horse Racing packages include (3)
  4444. programs: Horse program + Trainer & Jockey. 
  4445.      Package #1 (TB-JO-TR) 
  4446.      Thoroughbred Horse Racing............$179 
  4447.      Thoroughbred Handicapping System.....$125 
  4448.      Package #2 (HA-DR-TR) 
  4449.      Harness Horse Racing.................$179 
  4450.      Harness Horse handicapping System....$125 
  4451.      Package #3 (QH-JO-TR) 
  4452.      Quarter Horse Racing.................$179 
  4453.      Quarter Horse Handicapping System....$125 
  4454.       
  4455.      "PDS TRAINER JOCKEY STATISTICS PROGRAMS 
  4456.      Trainer Statistics System............$39.95 
  4457.      Jockey Statistics System.............$39.95 
  4458.      Harness Stastics System..............$39.95 
  4459.       
  4460.      "PDS FOOTBALL HANDICAPPING & STATISTICS 
  4461.      Football Handicapping & Statistics...$69.95 
  4462.      NFL data Disks.......................$19.95 
  4463.      Past seasons or season to date 
  4464.       
  4465.      "PDS BASEBALL/BASKETBALL HANDICAPPING & STATISTICS 
  4466.      Baseball Handicapping & Statistics...$69.95 
  4467.      Baseball Data Disks..................$19.95 
  4468.      Past seasons or Season to date 
  4469.       
  4470.      Basketball Handicapping & Statistics.$69.95 
  4471.      Basketball Data Disks................$19.95 
  4472.      Past seasons or season to date 
  4473.       
  4474.      "PDS LOTTO PLAYER 
  4475.      Computer LOTTO player.................call 
  4476.  
  4477. ==========================================================================
  4478. C4ICS024
  4479.  
  4480. Content-Type: TEXT/plain; SizeOnDisk=5673; name="PHONTRAN.TXT"; CHARSET=US-ASCII
  4481. Content-Description: PHONTRAN.TXT
  4482.  
  4483. Originally published December 1992, Lima newsletter
  4484.             
  4485.  
  4486.  "PHONE NUMBER TRANSLATOR" 
  4487. BASIC software for the 99/4A, CC40, and TI74 
  4488. that demonstrates the use of "PRINT #0"  
  4489. by Charles Good 
  4490. Lima Ohio User Group 
  4491.  
  4492.    The BASIC software listing below is interesting for
  4493. three reasons.  1-The program does something useful.  2-An
  4494. unusual programming technique, PRINT #0, is used.  3-The
  4495. software is a good example of how easy it is modify
  4496. CC40/TI74 BASIC programs so they will run on the 99/4A, and
  4497. visa versa. 
  4498.              
  4499.    As explained in the REM statements, TELEPHONE NUMBER
  4500. TRANSLATOR converts a seven digit phone number into its all
  4501. letter equivalents, such as TI-CARES.  There are 2187
  4502. possible letter combinations for any 7 digit phone number,
  4503. and they are all displayed on screen or optionally sent to
  4504. a printer or a disk file.  99/4A users will probably find
  4505. the easiest way to read the output of this program is to
  4506. send the output to a disk file by specifying "DSK1.FILENAME"
  4507. at the DEVICE NAME OR NUMBER prompt.  Then load the
  4508. resulting DV80 file into any word processor and scan the
  4509. file on screen.  Perhaps a readily recognizable group or
  4510. partial group of letters will make it easier to remember a
  4511. particular number. 
  4512.  
  4513.    The usual way to direct the output of a BASIC program
  4514. optionally to either the screen or to a printer is to have
  4515. a branch point in the program.  Screen output branches to a
  4516. group of program lines that PRINT data to the screen.
  4517. Selecting printer output branches to a different group of
  4518. program lines that PRINT #1 to a file OPENed as "PIO", some
  4519. other printer name, or a hex bus device number.  This
  4520. program uses only one set of code lines to direct output to
  4521. both the screen and printer.  This saves memory. PRINT
  4522. lines say "PRINT #X". When the program is first RUN, all
  4523. numeric variables including X are set to zero.  Device zero
  4524. is the screen, so unless the value of X is changed, every
  4525. time a PRINT #X is encountered the computer will "print" to
  4526. file #0 which is the screen.  If optional printer output is
  4527. selected, lines 180 and 190 set X equal to 1 and OPEN file
  4528. #1 to the designated printer name.  Later, every time the
  4529. program reaches a line that says PRINT #X, output is
  4530. directed to the printer (file #1) rather than to the screen
  4531. (file #0). 
  4532.             
  4533.    In previous newsletter articles I have noted that TI
  4534. BASIC and Extended BASIC for the 99/4A is very similar to
  4535. the BASIC's of the CC40 and TI74. TELEPHONE NUMBER
  4536. TRANSLATOR is an excellent example of the similarities.  I
  4537. took a published 99/4A program, modified it for use with my
  4538. TI74, and added some new features including printer output.
  4539. In lines 40-80 I have included in REM statements detailed
  4540. instructions for modifying my CC40/TI74 program so it will
  4541. run on an unenhanced 99/4A console only TI BASIC system. The
  4542. required modifications are VERY minor.  This illustrates how
  4543. easy it is to convert BASIC software that doesn't use color,
  4544. sound, speech, or user defined graphics back and forth
  4545. between the 99/4A the CC40 and TI74. 
  4546.  
  4547.     The CC40/TI74 version is listed below.  A version for
  4548. the 99/4A can be downloaded as software with the electronic
  4549. edition of the November 1992 Lima newsletter posted on GENIE
  4550. and on the C.O.N.N.I Newsletter Article Clearing House BBS. 
  4551.              
  4552. 10 REM TELEPHONE NUMBER TRANSLATOR - This version for CC40 and TI-74.
  4553. 20 REM Converts a 7 digit phone number into all possible letter equivalents
  4554. 30 REM such as 842-2737 into TI-CARES.
  4555. 40 REM To modify for TI BASIC running on a 99/4A do the following:
  4556. 50 REM 1-Remove ":PAUSE X" (X is a number) found at the end of most PRINT lines.
  4557. 60 REM 2- Change ";" to ":" in lines 130 and 170.
  4558. 70 REM 3- Change "#X," to "#X:" in lines 190 420 430 440 450 460 470 480 and 500
  4559. 80 REM 4- Change lines 240 and 510 from CALL KEY(K,S) to CALL KEY(0,K,S).
  4560. 85 REM 5- Change "#1," to "#1:" in lines 286 287 and 289
  4561. 90 REM Modified in August 1992 by Charles Good for CC40 and TI74.
  4562. 100 REM Original 99/4A program from "Zappers, having fun programming 23 games
  4563. 110 REM for TI99/4A" by Henry Mullish & Don Kruger, 1984, Simon & Schuster
  4564. 120 PRINT "      Ring -- Ring -- Ring":PAUSE 2
  4565. 130 INPUT "Use putput device? Y/N ";P$
  4566. 140 IF P$="Y"THEN 170
  4567. 150 IF P$="y"THEN 170
  4568. 160 GOTO 200
  4569. 170 INPUT "Device name or number? ";DN$
  4570. 180 X=1
  4571. 190 OPEN #X,DN$,OUTPUT
  4572. 200 PRINT "Using no dashes, type the seven":PAUSE 1
  4573. 210 PRINT "digits or letters of a phone #"
  4574. 220 CHAR$="000111ABCDEFGHIJKLMNOPRSTUVWXY"
  4575. 230 FOR I=1 TO 7
  4576. 240 CALL KEY(K,S)
  4577. 250 IF S<1 THEN 240
  4578. 260 IF (K<48)+(K>57)*(K<65)+(K>89)THEN 240
  4579. 270 IF K=ASC("Q")THEN 240
  4580. 280 PRINT CHR$(K);
  4581. 282 IF X=0 THEN 290
  4582. 284 IF I<>1 THEN 287
  4583. 286 PRINT #1,"For telephone number ";
  4584. 287 PRINT #1,CHR$(K);
  4585. 288 IF I<>7 THEN 290
  4586. 289 PRINT #1,""
  4587. 290 IF K<58 THEN 310
  4588. 300 K=INT((POS(CHAR$,CHR$(K),1)-1)/3)+49
  4589. 310 NUMB(I)=(K-48)*3
  4590. 320 NEXT I
  4591. 330 PRINT
  4592. 340 PRINT "Hold any key for temporary STOP":PAUSE 1
  4593. 350 FOR A=1 TO 3
  4594. 360 FOR B=1 TO 3
  4595. 370 FOR C=1 TO 3
  4596. 380 FOR D=1 TO 3
  4597. 390 FOR E=1 TO 3
  4598. 400 FOR F=1 TO 3
  4599. 410 FOR G=1 TO 3
  4600. 420 PRINT #X,SEG$(CHAR$,NUMB(1)+A,1);
  4601. 430 PRINT #X,SEG$(CHAR$,NUMB(2)+B,1);
  4602. 440 PRINT #X,SEG$(CHAR$,NUMB(3)+C,1);
  4603. 450 PRINT #X,SEG$(CHAR$,NUMB(4)+D,1);
  4604. 460 PRINT #X,SEG$(CHAR$,NUMB(5)+E,1);
  4605. 470 PRINT #X,SEG$(CHAR$,NUMB(6)+F,1);
  4606. 480 PRINT #X,SEG$(CHAR$,NUMB(7)+G,1),
  4607. 490 N=N+1
  4608. 500 PRINT #X,N;"of 2187":PAUSE 1
  4609. 510 CALL KEY(K,S)
  4610. 520 IF S=-1 THEN 510
  4611. 530 NEXT G
  4612. 540 NEXT F
  4613. 550 NEXT E
  4614. 560 NEXT D
  4615. 570 NEXT C
  4616. 580 NEXT B
  4617. 590 NEXT A
  4618. 600 IF P$="Y" THEN CLOSE #1
  4619. 610 IF P$="y" THEN CLOSE #1
  4620. 620 END 
  4621.  
  4622. ============================================================================
  4623. C4ICS025
  4624.  
  4625. Content-Type: TEXT/plain; SizeOnDisk=8767; name="PRINPLOT.TXT"; CHARSET=US-ASCII
  4626. Content-Description: PRINPLOT.TXT
  4627.  
  4628.      January 1991
  4629.  
  4630.      THE HEX BUS PRINTER/PLOTTER  
  4631.      described by Charles Good 
  4632.      Lima Ohio User Group 
  4633.  
  4634.      This tiny printer, model HX1000, was released in 1983 as the main
  4635.      printing device for TI's CC40 computer.  It can be used with any
  4636.      other computer that has a HexBus interface, including the 99/4A (if
  4637.      you have the never released HexBus adaptor), the 99/8, the 99/2, and
  4638.      the TI74 calculator.  The Printer/Plotter measures about 15x11.5x4.5
  4639.      cm and can be operated on battery power or an AC adaptor.  You can
  4640.      carry the Printer/Plotter and the CC40 in a very small briefcase as a
  4641.      truely tiny completely portable computer/printer package.  It is
  4642.      still available new or used for about $90-$125 from dealers such as
  4643.      L.L. Conner Enterprise (phone 317-742-8146) and Jim Lasher (phone
  4644.      214-821-9274).  Since this is an official TI product, TI still
  4645.      supports this device and will replace defective Printer/Plotters on a
  4646.      flat fee exchange basis. 
  4647.  
  4648.      If you have never seen a true plotter before you are in for a suprise
  4649.      when you see the HX1000 in action.  It is unlike any dot matrix,
  4650.      daisy wheel, or laser printer I have ever seen.  The HX1000 uses 4
  4651.      small ball point pens, each about 2 cm long, to draw lines on 2.25
  4652.      inch wide adding machine paper rolls (plain paper, not thermal
  4653.      paper).  You can squeeze paper rolls up to 30mm in diameter
  4654.      completely inside the paper chamber of the HX1000 for minimum size
  4655.      and maximum portability.  A swing out arm permits larger diameter
  4656.      paper rolls to dangle behind the Printer/Plotter.  Such larger rolls
  4657.      are available in almost any store that sells paper, pens, and school
  4658.      supplies.  The four pens, one each in black blue red and green, are
  4659.      held in a rotating pen holder.  These little pens are currently
  4660.      available at several of my area Radio Shack stores.  When you power
  4661.      up the HX1000 it draws four small boxes on the paper, each a
  4662.      different color, to get the ink flowing in its pens.  In normal
  4663.      operation the HX1000, under control of the CC40 using BASIC commands,
  4664.      sets one of these pens at a time down on the paper and actually draws
  4665.      lines.  The pen is moved left/right across the width of the adding
  4666.      machine paper roll while the printer moves the paper vertically up
  4667.      and down.  There is lots of activity as the paper jerks up and down,
  4668.      the pen jerks left/right and is lifted off of and back down onto the
  4669.      paper, and pen colors are changed by rotation of the pen holder.
  4670.      Sometimes the paper roll rapidly feeds backwards or forewards several
  4671.      inches into or out of the printer in preparation for the next
  4672.      operation.  This is a highly mechanical device.  It is a good thing
  4673.      that TI still fixes these things because I suspect that due to their
  4674.      mechanical nature Printer/Plotters are less reliable than a typical
  4675.      dot matrix printer.  Mine has given me no trouble, however. 
  4676.  
  4677.      Speaking of reliability, the internal battery power source of the
  4678.      Printer/Plotter seems strange to me.  Six "1.5 volt" NiCad batteries
  4679.      are permanently soldered inside the printer and cannot be removed.
  4680.      The HX1000 is the only battery powered HexBus peripheral with non
  4681.      removable batteries.  An AC adaptor comes with the Printer/Plotter to
  4682.      charge the batteries and to power the printer from a wall electricity
  4683.      outlet.  Even when using the AC adaptor, however, the batteries must
  4684.      be near full charge for the printer to function properly.  I know
  4685.      that soldering the batteries assures good reliable flow of current.
  4686.      However, I also know that after lots of charge/discharge cycles,
  4687.      permanently installed NiCad batteries refuse to accept a charge.  I
  4688.      have a drawer full of useless "dust buster" vaccuum cleaners,
  4689.      electric shavers, flashlights, and power drills all with non working
  4690.      permanently installed batteries to prove this.  My Printer/Plotter
  4691.      sat on a warehouse shelf from 1983 until I purchased it new in
  4692.      September of 1990.  Its batteries work fine after all these years
  4693.      because they have not gone through many charge/discharge cycles.  But
  4694.      when my Printer/Plotter's batteries eventually fail to hold a charge
  4695.      the AC adaptor will probably not by itself be able to power the
  4696.      printer.  I guess I will then have to send the thing back to TI for
  4697.      an exchange.  I think removable batteries would have made more
  4698.      sense. 
  4699.  
  4700.      From BASIC you can LIST programs to the Printer/Plotter.  You can
  4701.      also OPEN #1,"10,OUTPUT" a file to the HX1000 (it is device 10) and
  4702.      then PRINT #1,"text" in text mode or PRINT #1,"special graphics
  4703.      commands" in graphics mode.  CC40 BASIC uses a comma instead of a
  4704.      colon in OPEN and PRINT # statements.  
  4705.  
  4706.      Two character sizes are available in text mode, with a maximum of
  4707.      either 18 or 36 characters across the width of the paper.  This
  4708.      paragraph is being printed in the newsletter in both character sizes
  4709.      to show the difference.  There is only one font, and some of its
  4710.      characters look a bit unusual.  The exclamation point "!", for
  4711.      example, looks sort of like a wine glass.  Here is the complete
  4712.      character set as printed by the Printer/Plotter:
  4713.      |@`~_{}[]!"#$%^&()'?:;,.<>/*-+=1234567890abcdefghijklmnopqrs
  4714.      tuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 
  4715.  
  4716.      In graphics mode you can also use any of the normal character set as
  4717.      part of your graphic.  Characters in graphic mode can be printed in
  4718.      any of 10 sizes! Letters and other prededined characters can be
  4719.      printed normally (right side up and left to right), rotated 90
  4720.      degrees clockwise and printed down the paper (as in the banner
  4721.      example that accompanies this article), upside down from right to
  4722.      left, and rotated 270 degrees printed up toward the end of the paper
  4723.      roll as the paper is sucked backwards into the Printer/Plotter.  The
  4724.      sample banner shown is an example of the largest letters printed
  4725.      sideways down the length of the paper roll.  In this banner each
  4726.      letter is overwritten several times, advancing the paper slightly
  4727.      after each overwrite to make the letters of the banner appear thick.
  4728.      The Printer/Plotter printed the first line of the banner, then sucked
  4729.      the paper roll back in and printed the second line of text.  The
  4730.      whole operation required lots of pen and paper movement! 
  4731.  
  4732.      When plotting lines in graphics mode the Printer/Plotter uses an X-Y
  4733.      coordinate system with up to 216 points across the width of the paper
  4734.      and 999 points along its length.  Since the origin (coordinate 0,0)
  4735.      can be reset at any time to the pen's current position, the actual
  4736.      maximum length of a single graphic is unlimited.  Lines can be drawn
  4737.      from one coordinate to another to another, along a defined sequence
  4738.      of coordinates.  These lines between coordinates can be either solid
  4739.      or dotted, with 9 different degrees of spacing possible between dots
  4740.      of a dotted line.  The pen can be moved to any coordinate without
  4741.      drawing.  Pen color can be changed. 
  4742.  
  4743.      The graph that accompanies this article illustrates the possibilities
  4744.      of the Printer/Plotter in graphic mode.  The CC40 BASIC program that
  4745.      made this graph was published in the October 1983 issue of 99er
  4746.      Magazine.  The original graph is in 4 colors.  The left side of the
  4747.      graph is the original end of the paper roll, complete with the 4
  4748.      boxes drawn at powerup.  First the HX1000 printed the short axis
  4749.      scale in red (-100 to 100), then it drew the short and then the long
  4750.      axis lines in blue.  Next it sucked the paper back into the printer
  4751.      and drew the long axis scale (0-15) in black.  Then it sucked the
  4752.      paper in again and plotted Y=X*TAN(X) as a discontinuous solid red
  4753.      line.  Finally the paper was sucked in again in preparation for
  4754.      plotting Y=SIN(X)/e^(X/5) as a single dotted wavy green line. 
  4755.  
  4756.      The HX1000 lists for $199.95 in TI's last June-December 1983 price
  4757.      list.  This can be compared to TI's impact printer, which lists in
  4758.      the 1983 price list for $750 and sold in my local J.C. Penney store
  4759.      in October 1983 for $450.  If the HexBus interface had been released,
  4760.      the Printer/Plotter would have offered 99/4A owners an inexpensive
  4761.      printing alternative to with unique features such as 4 colors and
  4762.      portability that are not found even today in other printers commonly
  4763.      used in the TI community. 
  4764.  
  4765. =============================================================================
  4766. C4ICS026
  4767.  
  4768. Content-Type: TEXT/plain; SizeOnDisk=3628; name="PRINT80.TXT"; CHARSET=US-ASCII
  4769. Content-Description: PRINT80.TXT
  4770.  
  4771.             T.I.`s HexBus "PRINTER 80" for use with the CC40
  4772.                        described by Charles Good
  4773.                           Lima Ohio User Group
  4774.  
  4775.     Hex Bus peripherals connect to the CC40 in a manner similar to the
  4776. way disk drives and printers connect to the Commodore 64.  Most HexBus
  4777. peripherals have two HexBus 8 pin ports.  The CC40 has one HexBus port.
  4778. You connect a HexBus port of the first peripheral to the CC40`s HexBus
  4779. port with a special cable.  You then connect the second peripheral to
  4780. the other HexBus port of the first peripheral, etc.  Peripherals chained
  4781. together in this way can be accessed individually by the CC40, and it
  4782. usually doesn`t make any difference in what order the peripherals are
  4783. chained together.  You don`t need any interface cards or other special
  4784. hardware to use these small inexpensive peripherals with a CC40.  Just
  4785. cable `em together!  HexBus peripherals once made by T.I. include the
  4786. printer plotter (using adding machine roll paper prints 16 or 32 columns
  4787. of text and plots in 4 colors), RS232/PIO interface, 300 baud modem,
  4788. WAFERTAPE DIGITAL TAPE DRIVE, and 80 column printer.  Of these, the 80
  4789. column "PRINTER 80" is the only one still available new directly from
  4790. T.I.  The WAFERTAPE DRIVE is very rare and was never officially
  4791. released.  The others are not too difficult to find used.
  4792.  
  4793.     The PRINTER 80, T.I. model HX1010, costs $70 + shipping and tax, and
  4794. comes with 3 ribbon cartridges and an AC adaptor.  It comes in gray
  4795. plastic and measures 12.5 x 6.4 x 1.9 inches.  It can be powered with
  4796. four size D batteries or the accompanying AC adapter.  You shouldn`t use
  4797. a generic selectable voltage AC adapter like those you can buy in many
  4798. stores.  These are only rated at 300 milli amps and the PRINTER 80 needs
  4799. more power.  In addition to the AC jack and two HexBus ports on the back
  4800. of the printer, there are four controls on top; on/off, power paper
  4801. advance, power paper reverse, and paper release.
  4802.  
  4803.     The PRINTER 80 is a full 80 column printer that uses 8.5 inch wide
  4804. paper and has a maximum printing width of 7.5 inches.  It is a very
  4805. quiet thermal printer.  The cheapest way to use it is with rolls of FAX
  4806. paper.  A 96 foot long 8.5 inch wide roll of FAX paper costs $3 at a
  4807. nearby discount department store.  You can also use the "one pass only"
  4808. 20000 character thermal cartridges that come with the printer to print
  4809. on regular 8.5x11 typing paper.  Replacement cartridges cost $3 from
  4810. T.I.  Printing is slow compared to most computer printers, only 20
  4811. characters per second.  But that is alot faster than a good touch
  4812. typist.  There is only one font, elete.  There is no provision for
  4813. emphasized, condensed, expanded, NLQ, etc. fonts.  What you see here was
  4814. printed on a PRINTER 80.  ASCII 32-126, including lower case letters
  4815. with true descenders can be printed.  You can send low numbered ASCII
  4816. codes that set the PRINTER 80 for single or double space, perform single
  4817. foreword and reverse line feeds as well as 1/2 foreword and reverse line
  4818. feeds (for subscript and superscript) without carriage returns, and
  4819. carriage returns without line feeds.  There are no dot addressable
  4820. graphics.  For such graphics you need the HexBus printer plotter.
  4821.  
  4822.     There is nothing fancy about the PRINTER 80, but it has some very
  4823. attractive features.  It is SMALL, CHEAP, and since it is battery
  4824. powered it is TOTALLY PORTABLE.  For text printing it has all the
  4825. required features.  The combination of a CC40 and a PRINTER 80 gives you
  4826. a complete, inexpensive, totally portable word processing/printing
  4827. package.
  4828.  
  4829. ============================================================================
  4830. C4ICS027
  4831.  
  4832. Content-Type: TEXT/plain; SizeOnDisk=7414; name="QDISK1.TXT"; CHARSET=US-ASCII
  4833. Content-Description: QDISK1.TXT
  4834.  
  4835.      November 1990 
  4836.  
  4837.  
  4838.      THE MECHATRONIC "QUICK DISK" DRIVE FOR THE CC40  
  4839.      described by Charles Good 
  4840.      Lima Ohio User Group 
  4841.  
  4842.      To CC40 owners this is a VERY important piece of equipment, since it
  4843.      is the only readily available magnetic media mass storage device that
  4844.      can be used directly by the CC40.  Alternatives to the QUICK DISK
  4845.      include TI's WAFERTAPE DRIVE (very rare and not supported by TI
  4846.      because it was never officially released), the 8K constant RAM
  4847.      cartridge (can store the RAM contents of a CC40 if the CC40's internal
  4848.      RAM is no more than 6K), and dumping text (but not programs) to
  4849.      another computer via the HexBus RS232. 
  4850.   
  4851.      The QUICK DISK drive measures about 7 x 5.75 x 2.75 inches and weighs
  4852.      2.6 lbs.  2.8 inch disks are inserted via a transparent plastic lid on
  4853.      the TOP of the drive.  You can stack the QUICK DISK on top of a stack
  4854.      of other HexBus peripherals (except for the two kinds of HexBus
  4855.      printers which need unobstructed top surfaces for paper feeding), but
  4856.      the drive will overhang the others a bit laterally.  You can't put
  4857.      devices on top of the QUICK DISK since this will block access to the
  4858.      disk door.  There is only one HexBus port on the back of the QUICK
  4859.      DISK, unlike other HexBus peripherals which have two HexBus ports.
  4860.      This means that the QUICK DISK must be the last in a chain of
  4861.      peripherals. 
  4862.       
  4863.      My new QUICK DISK, as delivered by T.A.P.E., came without an AC
  4864.      adapter.  Unlike most other HexBus peripherals, the QUICK DISK isn't
  4865.      battery powered, so you must purchase an adapter separately.  Be
  4866.      careful! The required voltage is 6, but the QUICK DISK draws 600mA
  4867.      average current.  You shouldn't use the 300mA model AC9201 adaptor
  4868.      that TI recommends for the CC40 and several of its HexBus peripherals.
  4869.      Likewise, you shouldn't use the selectable voltage adaptors found in
  4870.      many stores.  These are rated at 300mA.  You need the TI's AC9401
  4871.      adapter, rated at 1 amp.  This is the adaptor that comes with the
  4872.      HeXbus Printer 80, and you may be able to purcha-e it separately from
  4873.      TI.  Radio Shack sells a selectable 6 or 7.5 volt adaptor (catalog
  4874.      #273 1655) for $15 that is rated at 700mA.  I use the Radio Shack
  4875.      adaptor to power my QUICK DISK. 
  4876.       
  4877.      The QUICK DISK uses 2.8 inch disks which come in a relatively hard
  4878.      plastic enclosure.  Once formatted, each side of a disk can store 64K
  4879.      byte of data.  The QUICK DISK is a single sided drive, but the 2.8
  4880.      inch disks are designed to be used as flippies.  These are not the
  4881.      same as the 3.5 inch disks used in many modern computers, but they are
  4882.      readily available.  This is the same sort of disk that is used in
  4883.      Smith Corona Personal Word Processor models 3 and 5.  The disks can be
  4884.      purchased from most stores that sell electronic typewriters.  My
  4885.      nearby SEARS, K-MART, and WALMART stores sell the disks for $6 or $7
  4886.      per package of two.  Radio Shack stores sell the same thing for the
  4887.      TANDY PWP1000 personal word processor.  They charge $17 for the 2 disk
  4888.      package. 
  4889.       
  4890.      In some respects the QUICK DISK stores data in a manner similar to
  4891.      TI's never officially releases WAFERTAPE DRIVE.  The QUICK DISK is not
  4892.      a random access device.  Each disk is formatted with only one track,
  4893.      spiral, like a phonograph record.  Each time disk access is required,
  4894.      the drive's read/write head sets down at the beginning of the track
  4895.      and spirals around and around the disk until the necessary file is
  4896.      found.  In spite of this limitation all types of file access are
  4897.      supported, including PROGRAM, DISPLAY and INTERNAL.  Data files can be
  4898.      SEQUENTIAL or RELATIVE and can be opened in INPUT, OUTPUT, UPDATE, and
  4899.      APPEND modes.  (The WAFERTAPE DRIVE does not support RELATIVE files or
  4900.      APPEND mode.) Files are placed on the disk's one track in a sequential
  4901.      manner.  When manipulating both SEQUENTIAL and RELATIVE data files,
  4902.      the entire data file is read into the CC40's memory, manipulated by
  4903.      the controlling program, and then read back to the disk as the last
  4904.      file on the disk.  This means that file size is limited.  Only one
  4905.      file can be open at a time.  With the CC40's basic language, it
  4906.      doesn't make any difference whether you use uppercase, lowercase, or a
  4907.      combination of the two when specifying a file name.  [SAVE
  4908.      "8.FILENAME"] and [save "8.filename"] would both be interpreted by the
  4909.      QUICKDISK (device 8) in an identical way, saving a basic program to
  4910.      disk under exactly the same file name. 
  4911.       
  4912.      One aspect of the QUICK DISK's operating system does take some getting
  4913.      used to.  The DOS cannot split files to fill small empty areas on the
  4914.      disk.  Each file must occupy only one continuous block of space on the
  4915.      disk's single track.  There is no provision for fractured files.  The
  4916.      only file or program that can be overwritten or altered (in the case
  4917.      of a data file) is the last file on the single track, the file most
  4918.      recently created.  In BASIC, if you save a program or data file with
  4919.      the same name as a file already on the disk, the old file will only be
  4920.      replace if it is the last file.  If the old file isn't the last file,
  4921.      the old file will be deleted from the disk directory and a new file
  4922.      will be added to the disk at the end of the track.  Although you can
  4923.      no longer access the previous file (which has the same name as the
  4924.      newly created file), the old file still occupies disk space.  In
  4925.      practice, this means that you should only have ONE data file that will
  4926.      ever be opened in OUTPUT, APPEND, or UPDATE mode on each disk side,
  4927.      and this should be the last file.  Memo Processor will not permit you
  4928.      to APPEND or OUTPUT to anything except the last file.  You are forced
  4929.      by Memo Processor to use a different file name if you attempt to
  4930.      overwrite any file on the disk except the last file. 
  4931.       
  4932.      The state of available software for the CC40 is similar to what
  4933.      software was like for the 99/4a in its infancy, back in 1980/81.  This
  4934.      includes disk management software.  Management functions we are all
  4935.      used to on the 99/4a are not available for the QUICK DISK.  Whole disk
  4936.      copy programs do not exist.  You must OLD each file one at a time into
  4937.      the CC40 and then SAVE to another disk, after disk swaping, like we
  4938.      used to have to do with cassette tape programs.  There are no sector
  4939.      editors for the QUICK DISK.  Multiple drive use is not easy, since all
  4940.      QUICK DISK drives are considered to be device "8", and there seems to
  4941.      be no way to alter this device number. 
  4942.       
  4943.      In spite of these limitations the QUICK DISK gives the CC40
  4944.      capabilities of a "real" computer.  You can save to permanent magnetic
  4945.      media, and you can access large data files, reading only necessary
  4946.      data into the CC40's RAM.  The QUICK DISK is probably essential to
  4947.      anyone who wants to seriously use the CC40. 
  4948.            
  4949.      Available new for $110 plus shipping from T.A.P.E. 
  4950.      1439 Solano Place 
  4951.      Ontario CA 91764 
  4952.      Phone 714-989-9906 
  4953.  
  4954. ============================================================================
  4955. C4ICS028 
  4956.  
  4957. Content-Type: TEXT/plain; SizeOnDisk=3619; name="QDISK2.TXT"; CHARSET=US-ASCII
  4958. Content-Description: QDISK2.TXT
  4959.  
  4960. March 1991  
  4961.  
  4962.             QuickDisk for the TI-74 (95) Basicalc 
  4963.                   DOES WORK for the CC-40 
  4964.    by Jim McCulloch, Lima Ohio and Chicago User Groups 
  4965.  
  4966.    As a doubly-orphaned owner of a TI CC-40 Compact Computer, I was ecstatic
  4967. upon learning that mass storage MIGHT be available in the form of a
  4968. Mechatronics "QuickDisk" device. Upon inquiry at T.A.P.E., 1439 Solano Place,
  4969. Ontario, CA 91764 (Telephone 714-989-9906), I heard "good news and bad news".
  4970. The good news was that he had drives available in stock. The bad news was that
  4971. these were cabled for connection with the TI-74 Basicalc Calculator (with a 10
  4972. pin single line female connector) as opposed to the 8 pin double row Hex-Bus
  4973. adapter. Another "good news" item was that he had (as also does L.L. Conner,
  4974. 1521 Ferry Street, LaFayette, IN 47904 {telephone 317-742-8146}) an adapter
  4975. cable which on one end has a TI-74 "Dock-Bus" 10 pin single line female plug
  4976. and on the other end has a CC-40 Hex-Bus style (double row) 8 pin Male plug.
  4977. Upon hearing that these were compatible with the CC-40, I purchased a QuickDisk
  4978. drive and an adapter cable. 
  4979.  
  4980.    The problem was how to connect the female plug from the QuickDisk to the
  4981. female plug of the adapter cable. I found that a workable solution was to cut
  4982. resister leads into appropriate lengths (13 millimeters) and insert these into
  4983. one of the female plugs. I then plugged this (newly male) connector into the
  4984. other female plug such that the tab on the side of one plug was OPPOSITE (not
  4985. on the same side as) the tab on the side of the other plug. The 8 pin male
  4986. Hex-Bus part of the adapter cable is set in epoxy in a cup such that connection
  4987. with the standard Hex-Bus cable is possible in only one way, eliminating
  4988. possible confusion. The other end of the standard Hex-Bus cable plugs into the
  4989. last of the daisy chain eminating from the CC-40. Voila! It WORKED! I was
  4990. gratified to find that the QuickDisk performed as expected and was reliable. 
  4991.  
  4992.     The manual supplied with the QuickDisk is obviously translated from another
  4993. language (German) and I found certain parts intriguing. Apparently there were
  4994. two models made: 01 for the CC-40 which is a top-loader, 6 volt (600 ma) power
  4995. requirement (no batteries), 8 pin hexbus cabling compatible, 1.2 Kg. unit which
  4996. answers as Device number 8. Version 02 was described as a front-loader, 7.5
  4997. volt (400 ma) power requirement (supplied by 5 aa alkaline batteries!), cabled
  4998. to a 10 pin Dock-Bus female plug for connection to the TI-74 Basicalc, 0.8 Kg.
  4999. unit which was supposed to be Device number 9. My QuickDisk was not marked by
  5000. any manufacturers markings (model or serial numbers) but appeared to be a top
  5001. loading (QuickDisk 01, Hex-Bus unit #8) unit which was (curiously) cabled to
  5002. connect as a QuickDisk 02 (for the TI-74). I haven't had the courage to
  5003. disassemble the unit ("don't mess with it if it WORKS") to see what native
  5004. connections and conditions are present, but it might be interesting at some
  5005. future time. 
  5006.  
  5007.     In the absence of Wafertape drives for us CC-40 owners, the QuickDisk
  5008. appears to be the ONLY AVAILABLE mass storage device; even though the only
  5009. remaining QuickDisks are cabled for the TI-74, I can thankfully speak from
  5010. personal experience that they WILL WORK for the CC-40. 
  5011.  
  5012.     For more extensive explanation of the workings of the QuickDisk with the
  5013. CC-40, please refer to Charles Good's excellent review in the November 1990
  5014. (Vol 6 No. 9) Lima Ohio 99/4a Users Group Newsletter ("Bits, Bytes & Pixels")
  5015. whose mailing address is Box 647, Venedocia, OH 45894. 
  5016.  
  5017. =========================================================================
  5018. C4ICS029 
  5019.  
  5020. Content-Type: TEXT/plain; SizeOnDisk=5394; name="SORTING.TXT"; CHARSET=US-ASCII
  5021. Content-Description: SORTING.TXT
  5022.  
  5023. Originally published December 1992, Lima newsletter
  5024.  
  5025.  
  5026.   A PROFESSIONAL EDUCATOR'S SORTING PROGRAM FOR THE CC40  
  5027. by Charles Good 
  5028. Lima Ohio User Group 
  5029.  
  5030.    A common activity among educators is assigning letter
  5031. grades to student multiple choice exams that have numerical
  5032. scores, converting the numerical scores into grades of A B C
  5033. D and E.  If this is done by strictly following
  5034. predetermined mathematical standards (such as 90% and
  5035. above=A, 80-89%=B, etc) students may find their scores near
  5036. one of the borderlines and decide "Gee, if I can talk the
  5037. instructor into giving me one or two more points I can raise
  5038. my grade one whole letter."  This situation is not really
  5039. fair to the students because the difference between one
  5040. letter grade and another is significant, and should not be
  5041. based on just one or two exam points.  One way for the
  5042. instructor to avoid this situation is to use predetermined
  5043. mathematical standards only as guidelines, arrange the exam
  5044. scores of the students in numerical order (from greatest to
  5045. least), and assign letter grades by setting the lines of
  5046. demarcation between A/B, B/C, C/D, and D/E where large gaps
  5047. exist in the point spead of the students' scores.  This
  5048. makes it difficult for students to successfully nag the
  5049. instructor into awarding enough additional exam points to
  5050. raise the exam's letter grade significantly. 
  5051.  
  5052.     The following CC40 program will sort randomly entered
  5053. numbers into numerical order and/or a list of randomly
  5054. entered words or names into alphabetical order.  I use it to
  5055. aid me in assigning letter grades to my students' exams.
  5056. When prompted by the program, I enter the raw numerical exam
  5057. scores in any order.  The computer then sorts these scores
  5058. into numerical order and prints to a printer or displays on
  5059. screen the sorted list along with the mean and median
  5060. calculated from all the scores.  The printer routine is set
  5061. up for the HexBus printer/plotter, but by changing the
  5062. device number in the OPEN statement from 10 to some other
  5063. number you can use almost any printer. 
  5064.  
  5065.     You can also use this program to sort a list of names
  5066. alphabetically.  Teachers often have to do this for their
  5067. classes several times early in the semester as students
  5068. continue to add and drop classes causing almost daily
  5069. changes in class rosters.  Just enter names, last name
  5070. first, in any order.  The computer will then print or
  5071. dislplay on screen the name list sorted alphabetically. 
  5072.  
  5073.     It is particularly easy for teachers to use the CC40 for
  5074. these purposes rather than a desktop computer.  The small
  5075. size and battery power source of the CC40 allows the teacher
  5076. to bring the CC40 into the classroom, faculty lounge,
  5077. office, or home, wherever exam grading is most convenient. 
  5078.  
  5079. 90 REM CC40 BASIC, rewritten by Charles Good
  5080.    from a PD 99/4A program.
  5081. 100 DIM G(150),C$(150)
  5082. 110 Z=1
  5083. 120 PRINT "        ALPHA NUMERIC SORT":PAUSE 2
  5084. 130 INPUT "Type C for char, N for number";W$
  5085. 140 IF W$="N"THEN 660
  5086. 150 IF W$="n"THEN 660
  5087. 160 IF W$="c"THEN 180
  5088. 170 IF W$<>"C"THEN 130
  5089. 180 INPUT "Enter an END OF LIST code";S$
  5090. 190 PRINT "Now begin entering data.":PAUSE 1
  5091. 200 PRINT "Press <ENTER> after each entry,":PAUSE 1
  5092. 210 PRINT "When finished enter stopcode.":PAUSE 1
  5093. 220 N=N+1
  5094. 230 INPUT C$(N)
  5095. 240 IF C$(N)<>S$THEN 220
  5096. 250 N=N-1
  5097. 260 L=INT(N/2)+1
  5098. 270 N1=N
  5099. 280 IF L=1 THEN 320
  5100. 290 L=L-1
  5101. 300 A$=C$(L)
  5102. 310 GOTO 360
  5103. 320 A$=C$(N1)
  5104. 330 C$(N1)=C$(1)
  5105. 340 N1=N1-1
  5106. 350 IF N1=1 THEN 490
  5107. 360 J=L
  5108. 370 I=J
  5109. 380 J=2*J
  5110. 390 IF J=N1 THEN 430
  5111. 400 IF J>N1 THEN 460
  5112. 410 IF C$(J)>=C$(J+1)THEN 430
  5113. 420 J=J+1
  5114. 430 IF A$>C$(J)THEN 460
  5115. 440 C$(I)=C$(J)
  5116. 450 GOTO 370
  5117. 460 C$(I)=A$
  5118. 470 GOTO 280
  5119. 480 C$(1)=A$
  5120. 490 C$(1)=A$
  5121. 500 PRINT "Here is the sorted list.":PAUSE 1
  5122. 510 INPUT "P = printer, S = screen";Y$
  5123. 520 IF Y$="S"THEN 610
  5124. 530 IF Y$="s"THEN 610
  5125. 540 IF Y$="p"THEN 560
  5126. 550 IF Y$<>"P"THEN 510
  5127. 560 OPEN #1,"10",OUTPUT
  5128. 570 FOR I=1 TO N
  5129. 580 PRINT #1,C$(I)
  5130. 590 NEXT I
  5131. 600 CLOSE #1:GOTO 640
  5132. 610 FOR I=1 TO N
  5133. 620 PRINT C$(I),"Press ENTER":PAUSE
  5134. 630 NEXT I
  5135. 640 INPUT "End of list. Press ENTER.";Y$
  5136. 650 RUN
  5137. 660 INPUT "Enter an END OF LIST number.";S$
  5138. 670 IF SEG$(S$,1,1)<"0"THEN 690
  5139. 680 IF SEG$(S$,1,1)<="9"THEN 700
  5140. 690 PRINT "Please type a POSITIVE NUMBER":PAUSE 1:GOTO 660
  5141. 700 S=VAL(S$)
  5142. 710 PRINT "Now begin entering data":PAUSE 1
  5143. 720 N=N+1
  5144. 730 INPUT G(N)
  5145. 740 IF G(N)<>S THEN 720
  5146. 750 N=N-1
  5147. 760 L=INT(N/2)+1
  5148. 770 N1=N
  5149. 780 IF L=1 THEN 820
  5150. 790 L=L-1
  5151. 800 A=G(L)
  5152. 810 GOTO 860
  5153. 820 A=G(N1)
  5154. 830 G(N1)=G(1)
  5155. 840 N1=N1-1
  5156. 850 IF N1=1 THEN 980
  5157. 860 J=L
  5158. 870 I=J
  5159. 880 J=2*J
  5160. 890 IF J=N1 THEN 930
  5161. 900 IF J>N1 THEN 960
  5162. 910 IF G(J)>=G(J+1)THEN 930
  5163. 920 J=J+1
  5164. 930 IF A>G(J)THEN 960
  5165. 940 G(I)=G(J)
  5166. 950 GOTO 870
  5167. 960 G(I)=A
  5168. 970 GOTO 780
  5169. 980 G(1)=A
  5170. 990 M=INT((N+1)/2)
  5171. 1000 FOR I=1 TO N
  5172. 1010 AV=AV+G(I)
  5173. 1020 NEXT I
  5174. 1030 AVERAGE=AV/N
  5175. 1040 PRINT "Here is the sorted list.":PAUSE 1:INPUT
  5176.      "P = printer, S = screen";Y$
  5177. 1050 IF Y$="s"THEN 1140
  5178. 1060 IF Y$="S"THEN 1140
  5179. 1070 IF Y$="p"THEN 1080:IF Y$<>"P"THEN 1040
  5180. 1080 OPEN #1,"10",OUTPUT
  5181. 1090 FOR I=1 TO N
  5182. 1100 PRINT #1,G(I)
  5183. 1110 NEXT I
  5184. 1120 PRINT #1,"Median =";G(M):PRINT #1,"Average =";AVERAGE
  5185. 1130 CLOSE #1:RUN
  5186. 1140 FOR I=1 TO N
  5187. 1150 PRINT G(I),"Press ENTER":PAUSE
  5188. 1160 NEXT I
  5189. 1170 PRINT "End of list. Press ENTER.":PAUSE
  5190. 1180 PRINT "Median =";G(M);"   Average =";AVERAGE:PAUSE
  5191. 1190 RUN
  5192.  
  5193. ============================================================================
  5194. C4ICS030
  5195.  
  5196. Content-Type: TEXT/plain; SizeOnDisk=1971; name="SUPPLEMN.TXT"; CHARSET=US-ASCII
  5197. Content-Description: SUPPLEMN.TXT
  5198.  
  5199.      October 1990 
  5200.      T.I.'S SUPPLEMENTARY HANDOUTS RELATING TO 
  5201.                  THE 99/4A AND CC40  
  5202.       
  5203.      Andy Frueh wrote T.I.'s consumer relations department recently and
  5204.      asked them to send him all available free information about the 99/4A.
  5205.      He received a whole bunch of stuff, much of which I did not know
  5206.      existed.  Some of the following is interesting from an historical
  5207.      viewpoint.  Material includes press release product descriptions, user
  5208.      guide addenda, and some useful programs and technical information.
  5209.      Everything is hardcopy.  THE LIMA USER GROUP WILL XEROX THIS STUFF FOR
  5210.      ANY MEMBER OR OTHER USER GROUP for $0.04 per page plus postage.  A
  5211.      short description of these items is given below, with the number in
  5212.      parenthesis indicating number of pages.  Quoted material is taken
  5213.      directly as a quote from the described hardcopy.  All programs and
  5214.      technical information bears this notice: 
  5215.      "This material is given to you by Texas Instruments Incorporated
  5216.      without representation or warranty of any kind.  Therefore, we assume
  5217.      no responsibility and shall have no liability, consequential or
  5218.      otherwise, of any kind arising from its use.  This material was
  5219.      developed by and is considered the property of Texas Instruments.  We
  5220.      therefore reserve the right to use, publish, reproduce, or sell this
  5221.      material in any manner desired without compensation of any kind." 
  5222.       
  5223.      For the CC40 we have a package of software descriptions of CC40 solid
  5224.      state software cartridges.  Programs and subprograms on each of these
  5225.      modules are described in a fair amount of detail (9 pages for the
  5226.      whole thing): 
  5227.      --ADVANCED ELECTRICAL ENGINEERING LIBRARY 
  5228.      --MATHEMATICS 1 
  5229.      --STATISTICS LIBRARY 
  5230.      --FINANCE LIBRARY 
  5231.      --MEMO PROCESSOR WITH DATA COMMUNICATIONS 
  5232.      --CC40 PASCAL 
  5233.      --GAMES I 
  5234.      --GAMES II 
  5235.  
  5236. ==============================================================================
  5237. C4ICS031
  5238.  
  5239. Content-Type: TEXT/plain; SizeOnDisk=15467; name="SYSTEM.TXT"; CHARSET=US-ASCII
  5240. Content-Description: SYSTEM.TXT
  5241.  
  5242. September 1990 
  5243.  
  5244.      T.I.`S "COMPACT COMPUTER 40" AND IMPORTANT PERIPHERALS ARE ALIVE AND
  5245.      WELL 
  5246.      by Charles Good 
  5247.      Lima Ohio User Group 
  5248.  
  5249.      The CC40 was, in early 1983, T.I.`s first and maybe only entry into
  5250.      the laptop computer market.  It is battery powered.  Anything entered
  5251.      into the CC40`s RAM stays there even after the computer is turned off.
  5252.      Four alkaline AA cells are said to provide enough power for 200 hours
  5253.      of operation and many more hours of "computer off" time.  The CC40 can
  5254.      also be powered with an AC adapter.  I had long assumed that the CC40
  5255.      was abandoned by T.I. a few months after its introduction, even before
  5256.      BLACK FRIDAY, and that the CC40 and its Hex Bus peripherals were no
  5257.      longer available except sometimes as used items.  I also was under the
  5258.      impression that since T.I. never sold the promised WAFERTAPE DIGITAL
  5259.      DRIVE, there was no way to save data or programs typed into the CC40
  5260.      onto permanent magnetic media such as a disk or cassette tape.  After
  5261.      watching Gary Taylor`s CC40 presentation at the recent 1990 Lima MUG
  5262.      Conference I discovered how wrong I was! The CC40 is no longer
  5263.      available directly from T.I., but you get one NEW from L.L. Conner
  5264.      Enterprise.  Important HEX BUS peripherals and useful CC40 software
  5265.      are available NEW directly from T.I. and from various dealers. 
  5266.  
  5267.      When it was introduced in 1983 the CC40 had a list price of $250.  I
  5268.      recently paid $95 for my new CC40.  For an extra $25 I had dealer
  5269.      installation by L.L. Conner Enterprise of the necessary chips to bring
  5270.      the CC40`s internal RAM to the maximum 18K, up from the 6K RAM that
  5271.      the CC40 normally comes with.  This extra memory increases the CC40`s
  5272.      internal buffer capacity to around five text pages (up from one text
  5273.      page) when using the MEMO PROCESSOR word processing software
  5274.      cartridge.  Although T.I. never released it`s WAFERTAPE DRIVE, it
  5275.      turns out that MECHATRONIC made a small "QUICK DISK" disk drive for
  5276.      the CC40.  MECHATRONIC is no longer in business, but you can still buy
  5277.      one of these drives NEW, with a dealer warranty, for $110 from
  5278.      T.A.P.E. of Ontario California.  No controler cards or other hardware
  5279.      are needed to hook this small drive directly to the CC40.  The
  5280.      original printing device made by T.I. for the CC40 prints on rolls of
  5281.      adding machine paper.  This HEX BUS PRINTER PLOTTER prints in 4 colors
  5282.      and two font sizes.  Its main limitation is the width of the paper it
  5283.      uses.  This device is still available new from dealers.  What I didn`t
  5284.      know before Gary Taylor`s presentation was that T.I. also made a
  5285.      battery (or AC adapter) powered 80 column HEX BUS printer called the
  5286.      "PRINTER 80".  This printer uses small ribbon cartidges to print on
  5287.      ordinary 8.5 inch wide typing paper or can print on rolls of 8.5 inch
  5288.      wide FAX paper without the ribbon cartridge.  T.I. will be glad to
  5289.      sell you one of these printers NEW for $70.  That`s right folks, a new
  5290.      80 column printer for only $70! What you are reading now has been
  5291.      printed on a PRINTER 80.  As with the MECHATRONIC disk drive, no
  5292.      additional hardware is needed to connect this printer directly to the
  5293.      CC40 and print documents.  No, you can`t easily use this inexpensive
  5294.      printer with the 99/4A.  The MEMO PROCESSOR word processing cartridge
  5295.      is still available new directly from T.I. for $20.  Thus, for $320 +
  5296.      tax and shipping (since T.I. is registered to conduct business in most
  5297.      states, T.I. will charge you local sales tax even if you purchase T.I.
  5298.      products mail order from Texas) you can purchase a small, complete,
  5299.      portable (capable of battery operation except for the disk drive),
  5300.      word processing and printing package that includes a very powerful
  5301.      computer.  The portability of such a system is illustrated by the fact
  5302.      that I am typing part of this article with the CC40 sitting in my lap
  5303.      while on an overnight Cub Scout camping trip with my 9 year old son. 
  5304.  
  5305.      Why am I writing this article for publication in a newsletter devoted
  5306.      to the T.I. 99/4A home computer? The CC40 uses a different
  5307.      microprocessor than the 99/4A, with a different assembly language
  5308.      instruction set.  However the editor assembler manual of the CC40
  5309.      describes how to convert CC40 assembly code so that it can be
  5310.      understood by the 99/4A microprocessor, and T.I. once made a hardware
  5311.      device that does just that! If I had the rare and never officially
  5312.      released 99/4A HEX BUS INTERFACE, I could load this article or any
  5313.      CC40 program or file from my CC40 into my 99/4A for display on a
  5314.      monitor and processing with Funnelweb or T.I. Extended Basic.  The
  5315.      back of the box that contained my gray plastic 99/4A has a nice
  5316.      picture of this HEX BUS INTERFACE connected to a 99/4A console.  Don`t
  5317.      I wish! If anyone reading this article has one of these interfaces
  5318.      they are willing to sell me, PLEASE let me know.  In this series of
  5319.      articles I will first describe the CC40 and then go on to describe the
  5320.      80 column printer, the MECHATRONIC "QUICK DISK" drive, the printer
  5321.      plotter, the wafertape drive, and word processing using MEMO
  5322.      PROCESSOR, all of which I own.   
  5323.  
  5324.      The CC40 measures about 9x6x1 inches, the size of a small textbook.
  5325.      It uses a 2.5MHz TMS70C20 8-bit processor and has 34K of ROM and 6K
  5326.      (expandable to 18K internally) CMOS RAM.  The RAM can be expanded
  5327.      beyond 18K up to 34K with a plug in 16K memory expansion cartidge.
  5328.      The ROM includes a very powerful "Enhanced Basic" which is quite
  5329.      similar to TI Extended Basic for the 99/4A.  Both upper and true lower
  5330.      case letters (not just small upper case letters) are provided.  Error
  5331.      and system messages can be displayed in either English or German. 
  5332.  
  5333.      I have no idea what the "40" in CC40 refers to, certainly not the
  5334.      CC40`s display.  The LCD display shows 31 characters of a single 80
  5335.      character line.  You can scroll or window left/right to view the
  5336.      entire line.  Four dedicated cursor keys allow you to scroll up/down
  5337.      to view other lines or left/right within a line of text or program
  5338.      code.  The LCD display includes special indicators for such things as
  5339.      low battery, the status of the shift function and control keys, upper
  5340.      case lock, and special math functions.  Some LCD display indicators
  5341.      are user programmable.  A control on the left side of the CC40
  5342.      regulates the contrast (intensity) of the LCD display. 
  5343.  
  5344.      The CC40`s keyboard consists of chicklet keys.  Alpha numeric keys are
  5345.      arranged in a 44 key qwerty typewriter layout with number keys on the
  5346.      top row, looking very similar to the 99/4A key arrangement.  No, you
  5347.      can`t easily touch type.  The alpha keys are just too close together.
  5348.      One finger pecking is the usual method of laptop data entry while
  5349.      holding the CC40 steady with your other hand.  It is usually not ever
  5350.      necessary to press two keys at once.  For those features such as one
  5351.      time capital letters that require the use of the SPACE, FN (function),
  5352.      or CTL (control) keys, you press the special key first and an
  5353.      indicator on the LCD display turns on.  You then press the second key
  5354.      (for instance SHIFT and then D to display an upper case "D", or FN and
  5355.      then ~ for insert), and the special LCD display indicator turns off.
  5356.      A separate numeric keypad is to the right of the qwerty alphanumeric
  5357.      keys.  The number keys on the top row of the qwerty layout are
  5358.      duplicated in this keypad.  Special keys are included for cursor
  5359.      movement (4 dedicted keys), BREAK, RUN, ON, OFF, and reset. 
  5360.   
  5361.      The BASIC that comes as standard equipment on the CC40 closely
  5362.      resembles T.I. Extended Basic, but lacks most of the T.I.`s graphic,
  5363.      color, and sound features.  There are no sprites and only one kind of
  5364.      programmable BEEP.  Multi line statements up to 80 characters in
  5365.      length are supported, as are user defined subprograms with variables
  5366.      independent of the main program.  Seven, and only seven characters
  5367.      (ASCII 0-6), can be user defined with CALL CHAR on a 5x8 pixel grid.
  5368.      CALL`s relating to assembly code include POKE, LOAD (an assembly
  5369.      subprogram from an external device), PEEK, and EXEC (starts an
  5370.      assembly language program).  Two dimensional arrays are supported. 
  5371.  
  5372.      Typing BASIC code into the CC40 is made easier with automatic line
  5373.      numbers (NUM) as in TI extended basic.  DELETE will delete one line
  5374.      number or a specified group of line numbers from the middle of a BASIC
  5375.      program.  You can type the words for BASIC functions and commands with
  5376.      the alpha keys one letter at a time.  Many BASIC commands and
  5377.      functions can also be displayed on screen by pressing only 1 or 2
  5378.      keys.  A plastic keyboard overlay that comes with the CC40 shows these
  5379.      special keypresses, most of which involve pressing the CTL or FN key
  5380.      followed by another key. 
  5381.  
  5382.      A particularly powerful feature you can access from command mode or
  5383.      from a running BASIC program is CALL DEBUG, which brings up a built in
  5384.      assembly language monitor and memory manager.  This is designed to be
  5385.      used with the CC40`s Editor Assembler Module, but can be used by
  5386.      itself.  When in the DEBUG monitor you can display, modify, or copy
  5387.      any memory in hex.  You can also change the microprocessor`s program
  5388.      counter, stack pointer, and status register.  You can set break
  5389.      points, single step through assembly code, start execution at a given
  5390.      address, and control paging in and out of system ROM and cartridge
  5391.      ROM.  DEBUG is very powerful, and it is built into the CC40 for use
  5392.      whenever needed. 
  5393.  
  5394.      User defined hot keys can be set up, and remain in battery backed
  5395.      memory even after the CC40 is turned off.  FN + 1-9 are the potential
  5396.      hot keys.  These can, for example, be set up for commonly entered
  5397.      BASIC code, number sequences used in math calculations, or short text
  5398.      memos such as names and addresses. 
  5399.  
  5400.      You can use the CC40 as a scientific calculator by typing in your
  5401.      calculations directly rather than writing a BASIC program to do the
  5402.      calculations.  The separate numeric keypad makes data entry easy.  You
  5403.      can type in a string of calculations up to 80 characters long, press
  5404.      <enter> to display the answer, and then use the displayed answer as
  5405.      the starting point for more calculations.  Or, when an answer is
  5406.      displayed you can press PLAYBACK (FN/up arrow) to redisplay the
  5407.      calculation that gave the answer.  Calculation accuracy is 13
  5408.      significant figures, with 10 significant figures usually showing on
  5409.      the CC40`s display.  Scientific notation is supported, allowing the
  5410.      CC40 to deal with numbers as small as +/-1E-128 or as large as
  5411.      +/-9.9999999999999E+127.  PI, SQR, any other power or root, log (base
  5412.      10, and base E), sine, cosine, tangent, arcsine, arccosine, and
  5413.      arctangent are all supported with special keypresses.  Angles are
  5414.      calculated in either degrees, radians, or grads.  A special indicator
  5415.      on the LCD display (DEG, RAD, or GRAD) shows which kind of angle is in
  5416.      effect.  RAD is the powerup default.  You could easily spend $30 for a
  5417.      hand held scientific calculator, and you would still not have a 31
  5418.      column display or a scrolling 80 column data field.  For a few more
  5419.      dollars you can have a new CC40, which is a real programmable computer
  5420.      and not just a calculator. 
  5421.  
  5422.      A modern product, almost the same physical size as the CC40, is
  5423.      described in the June 1990 issue of CONSUMER REPORTS.  The ATARI
  5424.      PORTFOLIO computer has 128K RAM, built in word processing,
  5425.      spreadsheet, and address book software, and can be used as a
  5426.      sophisticated calculator.  Unlike the CC40, the PORTFOLIO is not user
  5427.      programmable in BASIC.  It only runs its built in software.  The
  5428.      display shows eight 40 column lines.  Batteries are good for only 39
  5429.      hours of powerup time.  Commenting on the typewriter like keyboard
  5430.      with no numeric keypad, CU says: "Touch typists will be reduced to
  5431.      hunt and peck- good enough for spreadsheets perhaps, but not for
  5432.      writing anything longer than a note." Price? -$400 plus $50 for a
  5433.      printer interface.  It seems to me that the much cheaper CC40 is in
  5434.      most respects comparable to or better than the ATARI computer.  CU
  5435.      recommends a regular laptop computer over the ATARI PORTFOLIO.  CU
  5436.      says, "We`ve seen some advertised for less than $600." Comparing price
  5437.      and features makes the CC40 looks like a good bargain. 
  5438.  
  5439.      Sources of hardware and software: Phone first to check shipping
  5440.      charges and product availability. 
  5441.  
  5442.     L.L. Conner Enterprise 
  5443.     1521 Ferry St. Lafayette Indiana 47904 
  5444.     Phone 317-742-8146 
  5445.      A source of new and used CC40s, Hex Bus peripherals, and cartridge
  5446.      software.  They will upgrade CC40s from 6K up to 18K of internal RAM. 
  5447.  
  5448.     T.A.P.E. 
  5449.     1439 Solano Place, Ontario California 91764, U.S.A. 
  5450.     Phone 714-989-9906 
  5451.      This is the only source for new MECHATRONICS disk drives for the CC40.
  5452.      This device is the only readily available mass storage device for the
  5453.      CC40. 
  5454.  
  5455.     T.I. Accessory Department 
  5456.     P.O. Box 53, Lubbock Texas, 79408. 
  5457.     Phone 806-747-1882 
  5458.      You should probably phone before ordering in order to get the correct
  5459.      part number.  T.I. accepts credit card orders over this phone line.
  5460.      The following are available new for the CC40: 
  5461.      -- AC adapter, model AC9401, output 6V, 1A.  $18.95.  This can be used
  5462.      to power the CC40 or most of the other the Hex Bus peripherals
  5463.      including the MECHATRONICS drive and the PRINTER 80. 
  5464.      -- Book: LEARN BASIC: A GUIDE TO PROGRAMMING THE TEXAS INSTRUMENTS
  5465.      COMPACT COMPUTER.  This is for beginners.  The CC40 comes with an
  5466.      extensive user`s guide that explains the CC40`s BASIC.  Price $10. 
  5467.      -- 16K RAM expansion- $40. This cartridge contains RAM that can be
  5468.      added to the CC40`s internal RAM to provide up to 32K total RAM. 
  5469.      -- 8K constant RAM- $30.  This battery backed cartridge is sort of
  5470.      like the 99/4A`s MINI MEMORY in that you can save programs or data to
  5471.      this cartridge and then remove the cartridge from the CC40.  It is an
  5472.      alternative to a mass storage device. 
  5473.      -- PRINTER 80 full width Hex Bus printer- $70 
  5474.      -- Pascal cartridge- $20. Comes with extensive documentation. 
  5475.      -- MEMO PROCESSOR word processing- terminal emulator cartridge- $20. 
  5476.      -- FINANCE software cartridge- $20 
  5477.      -- ADVANCED ELECTRICAL ENGINEERING software cartridge- $20 
  5478.      -- STATISTICS software cartridge- $20 
  5479.      -- MATH software cartridge- $20 
  5480.      -- GAMES 1 software cartridge- $20 
  5481.  
  5482.      Jim Lesher 
  5483.      722 Huntley 
  5484.      Dallas TX 75214 
  5485.      214-821-9274 
  5486.      A nice selection of used CC40s, HexBus peripherals, and rare
  5487.      documentation. 
  5488.  
  5489.  
  5490. =============================================================================
  5491. C4ICS032 
  5492.  
  5493. Content-Type: TEXT/plain; SizeOnDisk=8426; name="TEXTPROC.TXT"; CHARSET=US-ASCII
  5494. Content-Description: TEXTPROC.TXT
  5495.  
  5496. Originally published September 1992, Lima newsletter 
  5497.  
  5498.  
  5499.  AN IMPROVED BASIC WORD PROCESSOR 
  5500. FOR THE CC40 AND TI-74  
  5501. by Charles Good and Palmer Hanson Jr. 
  5502. Lima Ohio User Group and TI PCC Notes  
  5503.  
  5504.     In the May issue of the Lima newsletter I (Charles)
  5505. published a BASIC word processing program for the CC40 and
  5506. TI-74 which used DATA statements to store text.  This is
  5507. the only reliable way to store text in the battery backed
  5508. RAM of these computers when they are turned "OFF".  This
  5509. was the first word processing program ever written for the
  5510. TI-74.  The accompanying article described several
  5511. limitations to the program.  Now thanks to efforts of
  5512. member Palmer Hanson, editor of TI PCC NOTES, these
  5513. limitations have been overcome.  Our revised word
  5514. processing program with enhanced features is published
  5515. here.   
  5516.   
  5517.    Commas, quotation marks, leading spaces, and nicely
  5518. formated text cause no problems.  The software includes
  5519. instructions in the form of a sample document which can be
  5520. viewed from within the running program.  The use of quoted
  5521. DATA statements to store text allows easy placement of
  5522. commas within the text and the insertion of leading spaces
  5523. at the beginning of each paragraph, things that couldn't be
  5524. done with my original program. It is interesting that the
  5525. blank DATA lines with a pair of quotes (125 DATA "") used as
  5526. a template to store text in our revised program occupy no
  5527. more memory than the unquoted blank DATA lines (eg.^125
  5528. DATA) used in our original program. 
  5529.  
  5530.    Palmer has written a really marvelous text formatting
  5531. routine that eliminates some of the usual limitations of
  5532. word processing in BASIC.  With Palmer's routine you always
  5533. get neatly formatted paragraphs with a maximum line width
  5534. of your own choosing and with no splitting of words between
  5535. lines. You can insert or delete text, even adding new DATA
  5536. lines between existing DATA text lines as was done in lines
  5537. 37 and 43 of the program listing. The length of each text
  5538. DATA line is unimportant. You always get nicely formatted
  5539. paragraphs. Note for example lines 37 and 43 of the program
  5540. listing and compare them to the formatted program
  5541. instructions that are at the end of article.  Perhaps the
  5542. only thing Palmer's routine won't do is right
  5543. justification. 
  5544.  
  5545.    The program allows you to view either the instructions
  5546. or your document on the CC40 or TI-74's one line 31 column
  5547. screen. Successive screens of text are displayed with
  5548. proper word wrap, not splitting words between screens of
  5549. text.  Most important of all the program allows you to
  5550. print to any printer or dump text to a 99/4A or MS-DOS
  5551. computer.  You need the TI-74 PC Interface Cable or the
  5552. HexBus RS232 to dump to another computer.  When printing or
  5553. dumping you are asked for a maximum line width and a left
  5554. margin column.  These two options let you print or dump
  5555. centered or uncentered text formatted to any line width up
  5556. to 80 columns. 
  5557.  
  5558.    I use this software on my TI-74 for "do it anywhere"
  5559. writing. Later I usually dump my document directly into the
  5560. Funnelweb text editor running on my 99/4A for printing and
  5561. disk storage.  This article is being written on a TI-74
  5562. using our word processing program. 
  5563.  
  5564.     In some respects our program is BETTER than "MEMO
  5565. PROCESSOR", TI's cartridge word processing software for the
  5566. CC40.  When sending text to another computer, our program
  5567. doesn't drop the last line of text.  MEMO PROCESSOR does.
  5568. Also, with MEMO PROCESSOR if you have a document in memory
  5569. you can't do ANY command mode calculating or BASIC
  5570. programming.  Doing so destroys your document.  With our
  5571. program your document in memory is safe and you can do
  5572. whatever you want in command mode.  It has also been my
  5573. experience with the CC40 that marginally low battery power
  5574. will destroy a MEMO PROCESSOR document stored in memory,
  5575. well before the LOW battery indicator turns on.  Not so with
  5576. our program.  When LOW appears you have plenty of time to do
  5577. a quick battery change and preserve your document in
  5578. memory. 
  5579.  
  5580.    As a demonstration of the capabilities of our program,
  5581. below are the instructions contained in lines 5-75 of the
  5582. program, formatted by the program into lines with a maximum
  5583. width of 60 characters and sent to Funnelweb's text editor
  5584. running on a 99/4A.  What you see is the unmodified output
  5585. of our program. 
  5586. ----------  
  5587.  
  5588.    Word processor for CC40 and TI-74 by Charles Good &
  5589. Palmer Hanson Jr., June 1992.  Lines 5-75 are a sample
  5590. document. With HexBUS RS232 dumps ASCII text to any printer
  5591. or to TI WRITER on a 99/4A. Dumps to an MS-DOS computer
  5592. with TI's TI-74 PC Interface Cable.
  5593.  
  5594.    To enter text type 100 and down arrow, position cursor
  5595. over second quotation mark in blank DATA line and type
  5596. text. When text fills a a line, end the line with a closing
  5597. quote, press down arrow, and continue entering text on the
  5598. next blank DATA line.  Text in each DATA line should be
  5599. enclosed in a set of quotes. Quotation marks "WITHIN THE
  5600. TEXT" require special treatment, as in lines 45, 50, 60 &
  5601. 70.  For carriage returns type "CR" preceeded by a space
  5602. at the end of each paragraph, as in lines 20 and 60.  To
  5603. To leave blank lines between paragraphs type "CR" alone on
  5604. a data line as in line 65.
  5605.  
  5606.    If you get a MEMORY FULL error enter "DEL 5-75" to free
  5607. up enough memory to VIEW, PRINT, or SEND the document.
  5608. ------------
  5609. 5 DATA "   Word processor for CC40 and TI-74 by Charles Good & Palmer Hanson"
  5610. 10 DATA "Jr., June 1992.  Lines 5-75 are a sample document. With HexBUS RS232"
  5611. 15 DATA "dumps ASCII text to any printer or to TI WRITER on a 99/4A. Dumps"
  5612. 20 DATA "to an MS-DOS computer with TI's TI-74 PC Interface Cable. CR"
  5613. 22 DATA "CR"
  5614. 25 DATA "   To enter text type 100 and down arrow, position cursor over second"
  5615. 30 DATA "quotation mark in blank DATA line and type text. When text fills a"
  5616. 35 DATA "a line, end the line with a closing quote, press down arrow, and"
  5617. 37 DATA "continue entering text on"
  5618. 40 DATA "the next blank DATA line.  Text in each DATA line should be enclosed"
  5619. 43 DATA "in a set of quotes."
  5620. 45 DATA "Quotation marks ""WITHIN THE TEXT"" require special treatment, as in"
  5621. 50 DATA "lines 45, 50, 60 & 70.  For carriage returns type ""CR"" preceeded by"
  5622. 55 DATA "a space at the end of each paragraph, as in lines 20 and 60."
  5623. 67 DATA "To leave blank lines between"
  5624. 60 DATA "paragraphs type ""CR"" alone on a DATA line as in line 65. CR"
  5625. 65 DATA "CR"
  5626. 70 DATA "   If you get a MEMORY FULL error enter ""DEL 5-75"" to free up enough"
  5627. 75 DATA "memory to VIEW, PRINT, or SEND the document. CR"
  5628. 100 DATA "Start of document"
  5629. 105 DATA ""
  5630. 110 DATA ""
  5631. 125 DATA ""
  5632. (Insert here every 5 line numbers between 100 and 600 blank DATA lines each
  5633. followed by an opening and closing quote.  DATA lines will contain the document)
  5634. 590 DATA ""
  5635. 595 DATA ""
  5636. 600 DATA ""
  5637. 1000 PRINT " DATA STATEMENT WORD PROCESSOR":PAUSE 2
  5638. 1010 RESTORE:CODE=0
  5639. 1020 INPUT "1=View 2=Print 3=Send 4=Inst. ";M$
  5640. 1025 IF M$="4"THEN RESTORE
  5641. 1030 IF M$="1"OR M$="4"THEN LW=31:GOTO 3030
  5642. 1040 IF M$="2"THEN 3000
  5643. 1050 IF M$="3"THEN 4000 ELSE 1020
  5644. 3000 INPUT "Printer device number?";P$
  5645. 3010 OPEN #1,P$,OUTPUT
  5646. 3020 INPUT "Line Width?";LW:IF LW>80 THEN 3020
  5647. 3025 INPUT "Left margin column? 0-79 ";LM
  5648. 3030 PRINT$="":PW=0
  5649. 3040 ON ERROR 5000
  5650. 3050 READ TEXT$
  5651. 3060 IF TEXT$=""THEN 3050
  5652. 3070 TEXT$=TEXT$&" "
  5653. 3080 X=LEN(TEXT$):Y=POS(TEXT$," ",1)
  5654. 3090 IF X=0 THEN 3050
  5655. 3100 ADD$=SEG$(TEXT$,1,Y)
  5656. 3110 IF ADD$="CR "AND PW>0 THEN 3170
  5657. 3120 IF ADD$="CR "THEN 3185
  5658. 3130 IF (PW+Y)>LW THEN 3170
  5659. 3140 PRINT$=PRINT$&ADD$
  5660. 3150 TEXT$=SEG$(TEXT$,Y+1,X-Y)
  5661. 3160 PW=PW+Y:GOTO 3080
  5662. 3170 PRINT$=SEG$(PRINT$,1,PW-1)
  5663. 3180 IF M$="2"OR M$="3"THEN N=N+1:PRINT TAB(5);"Sending Line";N;"of text"
  5664. 3185 IF M$="1"OR M$="4"THEN PRINT PRINT$:PAUSE:GOTO 3205
  5665. 3190 PRINT #1,TAB(LM);PRINT$
  5666. 3200 IF CODE=32 THEN PRINT #1:CLOSE #1:N=0:LM=0
  5667. 3205 IF CODE=32 THEN PRINT TAB(9);"End of document":PAUSE:RETURN 1000
  5668. 3210 IF ADD$="CR "THEN TEXT$=SEG$(TEXT$,4,X)
  5669. 3220 PW=0:PRINT$="":GOTO 3080
  5670. 4000 OPEN #1,"20.D=8,P=N,R=C",OUTPUT,VARIABLE 80!HexBus RS232 toTIWriter on99/4A
  5671. 4005 !OPEN #1,"100.FILENAME.DOC",VARIABLE 80,OUTPUT!PC interface cable to MS-DOS
  5672. 4010 GOTO 3020
  5673. 5000 !End of DATA routine
  5674. 5010 CALL ERR(CODE,A)
  5675. 5020 IF CODE=43 THEN CODE=32!Interpret CC40 error code as TI74 error code
  5676. 5030 IF CODE<>32 THEN RETURN ELSE 3180
  5677.  
  5678. =============================================================================
  5679. C4ICS033
  5680.  
  5681. Content-Type: TEXT/plain; SizeOnDisk=24675; name="TI74.TXT"; CHARSET=US-ASCII
  5682. Content-Description: TI74.TXT
  5683.  
  5684. APRIL 1992
  5685.  
  5686.  
  5687.  THE TI-74 "BASICALC": A MODERN 8K POCKET SIZED 
  5688. REINCARNATION OF THE CC40 AND 99/4A  
  5689. reviewed by Charles Good 
  5690. Lima Ohio User Group 
  5691.  
  5692. Why did TI suspend further HexBus product development and
  5693. stop selling the CC40 in late 1984 less than two years after
  5694. the CC40 introduction in January 1983?  No, it probably
  5695. wasn't because TI's non release of the "didn't work very
  5696. well" Wafertape Digital Tape Drive left the CC40 without any
  5697. means of mass storage.  TI had that problem solved with the
  5698. CC40+ which had a built in reliable cassette interface.  But
  5699. the CC40+ was never released.  Why?  A probable answer to
  5700. these questions is that TI had something better up its
  5701. sleeve.   In 1985 TI began selling the TI-74, a downsized
  5702. improved version of the CC40 with an optional cassette
  5703. interface.  In 1992 these products are still available.  
  5704.  
  5705. The TI-74 is "modern" in the sense that TI still actively
  5706. sells the product through dealers.  Although first released
  5707. in 1985, my TI-74 user guides have a 1990 copyright
  5708. indicating TI's continuing support of the machine.  The
  5709. TI-74 is a "reincarnation" of the CC40 and 99/4A in the
  5710. sense that its BASIC is very similar to TI Extended BASIC
  5711. for the /4A and almost identical to the BASIC used in the
  5712. CC40.  Anyone familiar with Extended BASIC on the /4A will
  5713. have no trouble programmg the TI-74.  The similarities
  5714. between the 99/4A and the TI-74 are so profound that both
  5715. the Lima Ohio user group and the Swedish user group have
  5716. members who own a TI-74 and DO NOT own a 99/4A.  I have
  5717. typed in several games and application programs written for
  5718. the 99/4A into my TI-74 with very little modification.
  5719. Finally the TI-74 can be considered a "pocket" computer
  5720. because it measures only about 4x8x1 inches.  You can carry
  5721. the thing around in your shirt pocket if you don't mind
  5722. having half the computer sticking out beyond top of the
  5723. pocket. 
  5724.  
  5725. The TI-74 can best be described as a reduced sized CC40 with
  5726. more memory, a greatly enhanced set of scientific calculator
  5727. functions, and a slightly reduced suite BASIC commands
  5728. compared to the CC40.  The keyboard layout of the TI-74 is
  5729. very similar to that of the CC40.  Anyone familiar with the
  5730. key combinations of the CC40 will find the same keys,
  5731. usually in the same place on the keyboard, do the same
  5732. things on the TI-74.  Typing FRE(0) on the TI-74 shows 7710
  5733. bytes of program space available for BASIC programs.  On the
  5734. unenhanced 6K CC40 a FRE(0) shows 5730 bytes available to
  5735. BASIC. 
  5736.  
  5737.  PHYSICAL DESCRIPTION:  
  5738. The TI-74 is powered by 4 AAA batteries or an optional AC
  5739. transformer.  Most memory contents are preserved when the
  5740. computer is "OFF".  Although TI makes no clains about how
  5741. long the batteries should last, my experience suggests
  5742. several tens of hours of "ON" time on a single set of
  5743. batteries and many more hours of "computer is OFF" time.
  5744. Unlike many "modern" laptop and palmtop computers, the TI-74
  5745. does not have battery eating features such as a backlit
  5746. display screen or a built in hard drive.  Like the CC40 the
  5747. TI-74 has an LCD display that shows 31 5x7 pixel characters
  5748. of an 80 character line.  You can scroll or window
  5749. left/right with arrow keys and can use the up/down arrow
  5750. keys to display adjacent lines.  A contrast adjustment
  5751. allows viewing in most lighting situations. 
  5752.  
  5753. The keyboard has slightly concave rectangular (chicklet
  5754. style) keys which provide a definite tactile response when a
  5755. keypress is detected.  Keys are arranged in a manner
  5756. similar to, but not identical with, the CC40 keyboard.  The
  5757. alphanumeric keys are arranged typewriter style with a large
  5758. <ENTER> key and (unlike the CC40) a shift key on BOTH sides
  5759. of the space bar.  Cursor and other special purpose keys
  5760. (FN CT Mode Break Run) are lined up in a row above the
  5761. letter keys where one usually expects to find number keys.
  5762. The number keys form a numeric keypad to the right of the
  5763. letter keys along with large ON and OFF keys.  Most keys
  5764. have at least two functions and many have more.  For example,
  5765. the letter keys all have specific calculator functions in
  5766. CALC mode and in BASIC mode these same letter keys can be
  5767. used to display on screen most BASIC commands with just two
  5768. keypresses.  Keys are closer together than on the CC40 so
  5769. touch typing is not possible.  However two finger typing is
  5770. fairly easy.  I am composing the first draft of this article
  5771. on my TI-74. 
  5772.  
  5773.  CALCULATOR MODE:  
  5774. Pressing the MODE key while in BASIC command mode switches
  5775. the TI-74 to calculator mode.  A total of 70 "scientific
  5776. calculator" functions are available by entering a number and
  5777. then pressing one or two keys to perform some action on the
  5778. number.  CALC functions include linear regression,
  5779. permutations, regular and hyperbolic trig functions, a full
  5780. range of statistics, and much more.  One interesting CALC
  5781. function allows you to enter angles in degrees as
  5782. degrees-minutes-seconds and have this converted to
  5783. degrees+decimals.  Factorials up to 83 can be calculated by
  5784. just entering a whole number and then pressing the "n!" key.
  5785. An INV(erse) key will reverse the effect of most CALC
  5786. functions.  For example pressing INV and TAN will yield the
  5787. ARCTAN of the displayed number. 
  5788.  
  5789. Mathematical display and accuracy are identical to that of
  5790. the 99/4A and the CC40.  Ten digits are displayed on screen
  5791. with internal calculations carried to 13 or 14 digits.
  5792. Large and very small numbers are displayed in scientific
  5793. notation. 
  5794.  
  5795. As an educator, one feature of CALC mode I particularly
  5796. appreciate is STAT mode.  I can enter a long list of student
  5797. test scores and then obtain statistical information such as
  5798. the median and standard deviation of these data.  Other
  5799. statistics available once you enter a set of numbers (data)
  5800. include sum, sum of squares, number of data entries,
  5801. regression, line intercept and slope, and correlation
  5802. coefficient.  Stastical data can be entered as single data
  5803. values (as I do for student grades) or paired values (such
  5804. as plots on a two dimensional graph). 
  5805.  
  5806. BASIC programs as well as text assigned to "hot keys" (up to
  5807. 10 hot keys each of which will recall from memory up to 80
  5808. characters of text and/or mathematical formulas) remain in
  5809. memory when in CALC mode and can be immediately recalled by
  5810. pressing the MODE button to enter BASIC mode.  Stastical
  5811. data remain in memory when you switch from CALC to BASIC
  5812. mode and can later be accessed by going back to CALC.  When
  5813. you turn the computer "OFF" and later turn it "ON" you are
  5814. returned to the mode you left when you pressed "OFF".
  5815. Memory contents (BASIC programs, the contents of "hot keys",
  5816. and stastical data) are all preserved when the computer is
  5817. "OFF". 
  5818.  
  5819.  BASIC MODE:  
  5820. Except for lacking commands for user defined graphics,
  5821. speech, color, sprites, and sound, TI-74 BASIC is very
  5822. similar to TI Extended BASIC on the 99/4A.  Keeping in mind
  5823. the limited screen display of the TI-74, 99/4A users should
  5824. have no trouble programming the TI-74.  Although TI-74 BASIC
  5825. has a few fewer functions than CC40 BASIC the differences
  5826. between the two are minor.  Most CC40 BASIC software
  5827. listings can be typed into the TI-74 with no modifications
  5828. at all and will run with no problems. 
  5829.  
  5830. The following functions in CC40 BASIC are not available on
  5831. the TI-74: 
  5832. -- BEEP (Used in the CC40 with DISPLAT AT.  There is no
  5833. sound at all available on the TI-74). 
  5834. -- ATTACH and RELEASE (A feature of CC40 subprograms I have
  5835. never actually actually seen used). 
  5836. -- CALL CHAR (There are no user definable display
  5837. characters). 
  5838. -- CALL INDIC (No user definable display indicators are
  5839. available). 
  5840. -- CALL SETLANG (No alternative languages for text prompts.
  5841. All built in text prompts in the TI-74 and its software
  5842. modules are in English). 
  5843. -- CALL VERSION (The version of BASIC is identical on all
  5844. TI-74's). 
  5845. -- CALL CLEANUP (Instead you can remove from memory
  5846. variables not being used in the current program by SAVEing
  5847. to a non existant device). 
  5848. -- There is no direct access to assembly language except for
  5849. CALL IO on the TI-74.  Therefore the following CALL's of
  5850. CC40 BASIC are not available on the TI-74; GETMEM POKE PEEK
  5851. LOAD EXEC RELMEM and DEBUG. 
  5852.  
  5853. The only important CC40 BASIC software I have that can't be
  5854. modified to work with the TI-74 are "DIR" programs designed
  5855. to read the directories of mass storage devices such as the
  5856. Wafertape drive and Quickdisk drive.  These programs are
  5857. very useful because they give you the exact spelling of
  5858. program and data file names.  You need the exact spelling to
  5859. load from these devices.  The directory reading software
  5860. uses assembly CALL's not available on the TI-74.  The only
  5861. other important assembly CALL known to me on the CC40 is a
  5862. CALL EXEC(xxxx) to deactivate the battery saving automatic
  5863. power down.  The same thing can be done on the TI-74 by a
  5864. specific sequence of keypresses. 
  5865.  
  5866.  ACCESSORIES AND PERIPHERALS:  
  5867. Standard equipment that comes with the TI-74 includes two
  5868. book length guides, a set of alkaline batteries, a plastic
  5869. hard case, and a quick reference card that fits into the
  5870. inside of the hard case's hinged lid.  I really like the
  5871. hard case and keep my TI-74 in the case most of the time,
  5872. even when I am actively using the computer as I am now to
  5873. enter the text of this article.  The case is very tough and
  5874. prevents accidental keypresses.  The increased size of the
  5875. TI-74 plus case does, however, make it more difficult to
  5876. keep the computer in one's shirt pocket.  If you open the
  5877. case lid all the way you can lean the TI-74 against a small
  5878. object at a convenient viewing/typing angle and position the
  5879. case lid over the object's top for stability.  Right now as
  5880. I type this article I have my TI-74 resting against an
  5881. apple! 
  5882.  
  5883. A cartridge port to the right of the display accepts a solid
  5884. state software or RAM cartridge.  Available software
  5885. cartridges include LEARN PASCAL, STATISTICS, CHEMICAL
  5886. ENGINEERING, FINANCE, and MATHEMATICS.  The capabilities of
  5887. these software cartridges are almost identical to cartridges
  5888. of the same name sold for the CC40 and the TI-95
  5889. programmable calculator.  When I sent in my TI-74
  5890. registration card to TI, I received back a large color
  5891. brochure describing TI's custom module service for industry.
  5892. For about $100 per module TI offers to manufacture (burn
  5893. eproms for) custom TI-74 software modules taylored to a
  5894. customer's specifications.  Specific examples of some custom
  5895. modules are described in the brochure. 
  5896.  
  5897. For me the most useful TI-74 module is the battery backed 8K
  5898. RAM.  A similar module exists for the CC40.  You can save an
  5899. "image" of the TI-74's memory into the module, remove the
  5900. module, and later reinsert the 8K RAM and load its contents
  5901. back into the TI-74.  Used this way the 8K RAM serves as a
  5902. mass storage device.  You can also leave the RAM module in
  5903. the TI-74 and exchange the contents of the computer's memory
  5904. for what is stored in the module.  You can thus keep two
  5905. different BASIC programs in the computer at the same time,
  5906. one in the RAM module and one in the computer's memory,
  5907. switching back and forth between the two. This memory
  5908. flip-flop trick is something you can't do with a CC40.  You
  5909. can also use the 8K RAM as additional CPU memory by invoking
  5910. CALL ADDMEM.  This makes about 15700 bytes of memory
  5911. available in BASIC instead of the the TI-74's normal 7710
  5912. bytes. 
  5913.  
  5914. The TI-74 has a 10 pin peripheral connector TI calls the
  5915. Dock Bus.  Available TI peripherals that fit this connector
  5916. include an AC adapter adapter (the "adapter adapter" plugs
  5917. into the TI-74 and TI's AC9201 AC adapter plugs into the
  5918. "adapter adapter"), a battery powered thermal printer, a
  5919. cassette tape recorder interface, and an MS-DOS computer
  5920. interface.  I don't yet own any of these peripherals, so the
  5921. descriptions below are based on information published by TI
  5922. and on articles that have appeared in past issues of TI PCC
  5923. NOTES. 
  5924.  
  5925. The PC-324 THERMAL PRINTER is set up as device #12 and uses
  5926. an unusual size thermal paper roll.  You can either purchase
  5927. FAX paper and cut it to size with a hacksaw or pay $5 at a
  5928. dealer for a 3 roll pack of "official" paper.  Sort of
  5929. reminds you of the paper "problem" with the 99/4's Thermal
  5930. Printer (TP)! The small PC-324 printer is about the same
  5931. length and width as the TI-74.  It runs on batteries or an
  5932. optional AC adapter.  Text is only 24 columns.  There is
  5933. only one text font and there are no dot addressable
  5934. graphics.  From CALC mode you can use the PRINT key at any
  5935. time to print the screen display.  From BASIC mode you can
  5936. LIST programs or OPEN the printer in a program or from
  5937. command mode and print whatever you want. 
  5938.  
  5939. The CI-7 CASSETTE INTERFACE CABLE allows you to use most
  5940. cassette audio recorders, even those that use mineature
  5941. cassettes, to save BASIC programs or data files to tape.  It
  5942. appears to work the same way as the cassette interface of
  5943. the never released CC40 PLUS.  Its operation also resembles
  5944. that of the Wafertape drive.  You can save several files
  5945. sequentially on the same tape each with a different file
  5946. name.  If you don't know the exact starting position of a
  5947. particular file the TI-74 can search the tape from the
  5948. beginning for a particular file name and when found load
  5949. that file.  The TI-74 can also be programmed to load the
  5950. next file found on the tape irrespective of file name.
  5951. Screen prompts are available telling the operator to press
  5952. the recorder's PLAY, RECORD, and STOP buttons and the
  5953. computer automatically senses the beginning and end of the
  5954. requested file.  You cannot use the CI-7 to save programs
  5955. from a CC40.  Many have tried and failed to do this.
  5956. Apparently the TI-74 contains within it specific code needed
  5957. to operate the CI-7 cassette interface, code which is
  5958. lacking in the CC40. 
  5959.  
  5960. The PC INTERFACE CABLE connects between the Dock Bus and the
  5961. 25 pin parallel port of an MS-DOS computer.  With this cable
  5962. you can use the TI-74 to directly control the MS-DOS
  5963. computer via several device numbers.  Addressing device 14
  5964. lets you print using a parallel printer connected to the PC.
  5965. Device 45 lets you direct output from the TI-74 to the PC's
  5966. monitor for a nice 80 column multi line display.  You can
  5967. save or load TI-74 programs to and from the PC's disk drives
  5968. by referencing device 100.  Text in ASCII format can be
  5969. saved to the PC's drives with device 101.  If you own an
  5970. MS-DOS computer this cable would seem to be a very useful
  5971. TI-74 peripheral.  Can it be used with the CC40? I don't
  5972. know, but someone should find out.  The PC interface may be
  5973. the mass storage solution for CC40 owners who cannot get
  5974. obtain a Quickdisk or Wafertape drive. 
  5975.  
  5976.  HEXBUS COMPATABILITY:  
  5977. Superficially the 10 pin Dock Bus looks quite different from
  5978. the 8 pin HexBus.  However, as first noted in 1990 in
  5979. articles published in TI PCC NOTES and later in an article
  5980. by Dan Eicher in the March 1992 issue of the Lima User Group
  5981. newsletter, the Dock Bus and HexBus are electronically
  5982. identical.  Two extra Dock Bus lines not found in the HexBus
  5983. that allow an external 6 volt source to power the computer
  5984. or peripheral through the bus.  By connecting the proper
  5985. wires of a HexBus cable to corresponding wires of a Dock Bus
  5986. cable ALL HEXBUS PERIPHERALS ARE COMPATIBLE WITH THE TI-74!
  5987. If you don't want to make your own cable you can buy one
  5988. from L.L. Conner for $15.  Plug one end of the Conner cable
  5989. into the TI-74's Dock Bus and attach a HexBus cable to the
  5990. other end.  With this HexBus/Dock Bus cable I have used my
  5991. TI-74 with the following HexBus peripherals: RS232, Printer
  5992. 80, Printer Plotter, Wafertape Drive, and Quickdisk drive. 
  5993.  
  5994. I much prefer to my use Printer 80 with my TI-74 rather than
  5995. the 24 column PC324 printer.  Like the PC324 the Printer 80
  5996. can be run on batteries or an AC adapter.  Unlike the small
  5997. hard to find expensive rolls of thermal paper used by the
  5998. PC324, the Printer 80 uses easily obtainable FAX paper rolls
  5999. or with a Thermal Ribbon obtainable from Sears or by mail
  6000. from TI regular sheets of typing paper. 
  6001.  
  6002.  MASS STORAGE AND CC40/TI-74 SOFTWARE COMPATABILITY:  
  6003. With my TI-74 I can OLD SAVE and OPEN files to and from my
  6004. Quickdisk (device 8) with no problems at all.  This is in
  6005. spite of the fact that I have the HexBus rather than the
  6006. Dock Bus version of the Quickdisk drive.  All I need is the
  6007. HexBus/Dock Bus interface cable made by L.L. Conner.  I know
  6008. of someone who uses a Dock Bus Quickdisk drive with his CC40
  6009. also with no problems.  The few CC40 applications written
  6010. for the Wafertape drive assume this device is configured as
  6011. device #1.  That's how I have always used my Wafertape Drive
  6012. with my own CC40.  It is fortunate that the tape drive can
  6013. be switched to other device numbers because I can't
  6014. successfully use my Wafertape drive as device 1 with the
  6015. TI-74.  The TI-74 expects the CI-7 cassette interface to be
  6016. device 1.  If I switch my Wafertape drive to some other
  6017. device number (I use device 2) then I can OLD SAVE and OPEN
  6018. files to and from wafertapes with my TI-74. 
  6019.  
  6020. I knew when I bought my TI-74 that the syntax of TI-74 BASIC
  6021. is almost identical to that of CC40 BASIC.  I now know that
  6022. the similarities between the BASICs of these two devices are
  6023. more profound.  Any BASIC program written on a CC40 and
  6024. saved to Quickdisk or Wafertape will successfully OLD into
  6025. the TI-74 and if the program doesn't use any of the BASIC
  6026. functions unique to the CC40 will RUN in the TI-74.  Almost
  6027. my entire library of CC40 BASIC programs stored on disk or
  6028. wafertape will load RUN out of my TI-74! The two computers
  6029. use similar 8 bit central processor chips (TMS70C20 for the
  6030. CC40 and TMS70C46 for the TI-74) that use the same assembly
  6031. instruction sets and BASIC token codes. 
  6032.  
  6033.  GENERAL CONCLUSIONS; COMPARING THE CC40 AND TI-74:  
  6034. The only reason for using for using small "notebook" or
  6035. "palmtop" computers such as the CC40 or TI-74 is portability
  6036. and/or ease of operation.  The additional memory and better
  6037. displays of desktop computers mean that in general desktops
  6038. are more powerful.  Software is available for desktops that
  6039. can accomplish anything that can be done with ROM cartridge
  6040. or BASIC software available for the CC40 and TI-74.  There
  6041. is a lot to be said for portability! The ability to carry
  6042. the CC40 or TI-74 around with you and use them anywhere (a
  6043. classroom the office on a camping trip etc) is the raison
  6044. d'etre of these small computers.  Unlike "modern" laptop
  6045. computers whose batteries usually last less than 4 hours per
  6046. charge these small TI machines last tens or a couple of
  6047. hundred hours of on time on a set of batteries.  For use in
  6048. the field the TI-74 and CC40 and their battery operated
  6049. peripherals offer lots of convenience.  For example, I am
  6050. typing this article while I lay in bed proped against a
  6051. couple of pillows.  A few minutes ago I made a phone call
  6052. from the phone by my bed that required me to look up the
  6053. phone number.  I have my name/address/phone data base stored
  6054. in my TI-74's 8K RAM cartridge, so I did a CALL GET(-1) to
  6055. store this article in the RAM cartridge and at the same time
  6056. put my data base in the TI-74's memory.  I looked up the
  6057. number and made the call.  Then I did another CALL GET(-1)
  6058. to bring back my document into memory and put my data base
  6059. back into the RAM cartridge. 
  6060.  
  6061. ADVANTAGES OF THE CC40: 
  6062. --1-Its CHEAPER.  You can get one used for $55.  Used TI-74s
  6063. are hard to find and a new one costs $100. 
  6064. --2-CC40 BASIC is a bit more powerful. 
  6065. --3-The KEYBOARD is physically larger and thus according to
  6066. some people easier to type on than the keyboard of the
  6067. TI-74. 
  6068. --4-There is an assembly language word processing cartridge
  6069. called MEMO PROCESSOR available from TI for the CC40.  No
  6070. commercial word processing software is available for the
  6071. TI-74.  I am using a BASIC word processor program I wrote
  6072. myself to enter this article into my TI-74.  MEMO PROCESSOR
  6073. is much better than my BASIC word processor. 
  6074.  
  6075. ADVANTAGES OF THE TI-74: 
  6076. --1-CALC MODE.  Scientists, engineers, and educators will
  6077. appreciate the rapid availability of 70 scientific and
  6078. statistical functions on the TI-74.  The same sorts of
  6079. calculations can be done in BASIC with the CC40 (and the
  6080. TI-74) by putting formulas into BASIC programs, but doing
  6081. the math directly from the keyboard is much easier and
  6082. faster. 
  6083. --2-More user memory is available on the TI-74 than you get
  6084. in an unexpanded CC40. 
  6085. -- 3-Physical size.  The CC40 is just a little too big to
  6086. get your hand around and is slightly awkward to carry around
  6087. or hold in one hand.  No matter how you carry the CC40 it
  6088. seems the keyboard overlays are about to fall off and your
  6089. gripping fingers have trouble finding a place where they
  6090. don't press some keys. In my opinion the TI-74 is much
  6091. easier to handle.  You can easily and grasp the TI-74
  6092. with the fingers of one hand.  The hard case prevents
  6093. dust accumulation, accidental keypresses, and the
  6094. accidental loss of the quick reference card (or the LEARN
  6095. PASCAL keyboard overlay).  I feel very comfortable about
  6096. carrying my TI-74 around with me in my hand, in my briefcase,
  6097. or in my coat or shirt pocket just about everywhere I go.
  6098. Personally I have no more difficulty typing on the TI-74
  6099. keyboard than I do on the CC40.  In both cases two finger
  6100. "must keep looking at the keyboard" is my technique.  Touch
  6101. typing is not really possible on either machine. 
  6102. --4-The DOCK BUS is physically superior to the HexBus.
  6103. Although the two bus designs are electronically identical
  6104. the HexBus is structurally flimsy.  When inserting a HexBus
  6105. I/O cable into the bus on a CC40 or HexBus peripheral it is
  6106. hard to seat the cable properly.  There is lots of "play" in
  6107. the HexBus opening and it is possible to bend some pins
  6108. in the bus as you fool around with inserting the I/O cable.
  6109. The HexBus cables themselves are flimsy.  They are very
  6110. flexible and it is difficult to avoid pulling on the cable
  6111. rather than the small rigid cable end piece when removing an
  6112. I/O cable from the HexBus.  The DockBus and its I/O cables
  6113. are more substantial.  Cables fit snugly into the bus with
  6114. no free play and little likelyhood of bending a bus pin.
  6115. The cables are stiffer than HexBus cables and have large
  6116. easy to grasp ends.  Physically the DockBus and its cables
  6117. seem more substantial and thus probably more reliable than
  6118. the HexBus. 
  6119.  
  6120. The capabilities of the CC40 and TI-74 are similar.  The
  6121. TI-74 is a better math calculator.  The CC40 has a better
  6122. word processor but both can be used as calculators or text
  6123. processors.  Because of the memory flip-flop capability of
  6124. the 8K RAM and for physical reasons I prefer the TI-74. 
  6125.  
  6126.       SOURCES OF TI-74 SUPPLIES:  
  6127.      Available by credit card directly from TI at
  6128. 806-747-1882: 
  6129.    --HX1010 Printer 80, the 80 column HexBus printer, $70 
  6130.    --CI-7 Cassette interface $35 
  6131.    --PC324 Thermal printer $60 
  6132.    --Technical manual $5 
  6133.    --8K constant RAM cartridge $50 
  6134.    --Learn Pascal, Stastics, Mathematics, Finance, Chemical
  6135. Engineering software cartridges $50 each 
  6136.    --TP324 thermal paper and PC Interface cable also
  6137. probably available directly from TI, prices unknown. 
  6138.       
  6139.      Available from EDUCALC at 800-677-7001 or (credit card
  6140. orders only 24 hours) 800-535-9650 
  6141.    --TI74 (the topic of this article) $99.95 
  6142.    --Statistics, chemical engineering, finance cartridges
  6143. $39.95 each. 
  6144.    --8K constant RAM cartridge $39.95 
  6145.    --PC324 Thermal printer $89.95 
  6146.    --TP324 paper for printer $4.95 
  6147.    --CI-7Cassette interface $26.95 
  6148.    --PA201 AC interface for TI74 (the "adaptor adaptor",
  6149. uses adaptor below) $6.95 
  6150.    --AC9201 adaptor to power printer and/or TI94 $16.95 
  6151.    --PC interface cable, allows storage of TI74 software on
  6152. PC disks and use of PC screen controlled by TI74 $54.95 
  6153.  
  6154. Available from L.L.^Conner Enterprise 1521 Ferry St.
  6155. LaFayette IN 47904, phone 317-742-8146 
  6156. --Custom cable to connect HexBus peripherals to the TI-74s
  6157. DockBus, a special order item, $20 
  6158. --Custom cable to connect HexBus RS232 to TI99/4A RS232
  6159. card, a special order item, $20. 
  6160. --Various HexBus peripherals.  Call for availability. 
  6161.       
  6162. Available from T.A.P.E. 1439 Solano Place, Ontario
  6163. California 91764, phone 714-989-9906 
  6164. --Quickdisk disk drives, either the DockBus version or the
  6165. HexBus version (with the L.L.^Conner cable) will work with
  6166. the TI-74. 
  6167.  
  6168. Jim Lesher, 722 Huntley, Dallas Texas 75214, phone
  6169. 214-821-9274 
  6170. --nice selection of HexBus peripherals 
  6171.  
  6172. =============================================================================
  6173. C4ICS034 
  6174.  
  6175. Content-Type: TEXT/plain; SizeOnDisk=13579; name="WAFERTAP.TXT"; CHARSET=US-ASCII
  6176. Content-Description: WAFERTAP.TXT
  6177.  
  6178.      November 1990 
  6179.  
  6180.  
  6181.      NEVER RELEASED OFFICIAL TI PERIPHERALS: 
  6182.      THE WAFERTAPE DIGITAL TAPE DRIVE  
  6183.      a hands on description by Charles Good 
  6184.      Lima Ohio User Group 
  6185.                 
  6186.      The WAFERTAPE DIGITAL TAPE DRIVE was supposed to be a step up from
  6187.      cassette data storage.  The device is totally under the control of the
  6188.      computer (no manual rewinding or keeping track of cassette counter
  6189.      numbers).  A directory on the tape allows the computer to
  6190.      automatically advance the tape to the beginning of any desired file.
  6191.      Recording data digitally (as 1 or 0, on or off) rather than as part of
  6192.      a continuous spectrum of sound frequencies as is done on a regular
  6193.      sound cassette recorder such as T.I.'s Data Recorder, was supposed to
  6194.      be a more reliable way of recording and retrieving data.  Had this
  6195.      device been released in 1983 after its debut in January of that year,
  6196.      it and the also never released HexBus interface would have formed an
  6197.      inexpensive mass storage upgrade (compared to using a cassette
  6198.      recorder) for the 99/4A at a time when a new full PE box (SSSD drive,
  6199.      32K, disk controller) cost anywhere from $550-$1200.  The last 99/4A
  6200.      catalog published by TI in the fall of 1983 lists the Wafertape drive
  6201.      for $139.95 and the HexBus interface for $59.95. 
  6202.                               
  6203.      The wafertape drive was shown at the Consumer Electronics Show in
  6204.      January 1983 together with the first showing of the CC40.  It was to
  6205.      be the major mass storage device for the CC40, and is described and
  6206.      pictured in the user guides that come with most CC40 software and
  6207.      peripherales.  Unfortunately these user guides now also come with an
  6208.      addendum sheet that states "The Wafertape Digital Tape Drive is not
  6209.      available." The non release of the Wafertape Drive left the CC40
  6210.      totally without a mass storage device until the 1986/1987 introduction
  6211.      of the Mechatronic HexBus Quickdisk drive.  This lack of a mass
  6212.      storage device probably killed most consumer interest in the CC40. 
  6213.        
  6214.      I recently purchased for $100 a working Wafertape Drive, serial number
  6215.      0000007, ATA3883.  It is my understanding that the ATA number is a
  6216.      date code, indicating in this case manufacture in the 38th week of
  6217.      1983.  Most 99/4A hardware and software modules have an ATA number.
  6218.      If my understanding of ATA numbers is correct, my Wafertape Drive was
  6219.      not one of those shown at the January 1983 exhibit.  I personally know
  6220.      of one other working Wafertape drive, serial number 0000095.  I have
  6221.      been told that there are about 10 or 11 working Wafertape Drives in
  6222.      private hands and others that don't work. 
  6223.        
  6224.      The Wafertape Drive is comparable in size to other TI HexBus
  6225.      peripherals, measuring about 11.5cm wide, 14.5cm deep and 3.5cm tall.
  6226.      It is designed to be stacked with the HexBus RS232, modem, and
  6227.      Printer/Plotter.  It is battery powered with 4 AA cells.  You can also
  6228.      use an AC adapter.  The front has an on/off switch and a slot for
  6229.      inserting the wafertape.  On the back are two HexBus ports, an AC
  6230.      adapter jack, and a rotary switch for setting the device number.  The
  6231.      switch on mine has positions 0-9.  However, only positions 0-7 work,
  6232.      corresponding to devices 1-8.  By accessing each HexBus peripheral
  6233.      individually by number, a single CC40 could control up to 8 Wafertape
  6234.      Drives, if one could somehow gather that many working drives together
  6235.      in one place. 
  6236.  
  6237.      Wafertapes come in a cartridge measuring 68x40x5 mm, about as big as
  6238.      the miniature cassettes sold these days for small tape recorders.  The
  6239.      top is clear plastic and the bottom is black plastic.  T.I.  calls
  6240.      these cartridges "wafers".  They fit easily and snugly into the slot
  6241.      in the front of the Wafertape Drive.  Inside the wafer a dark colored
  6242.      magnetic tape 1.7mm wide (very thin) is wound in a continuous loop, in
  6243.      the same manner as the tape of an "8 track" music cartridge.  The tape
  6244.      moves only in one direction and its ends are attached to each other
  6245.      with a piece of reflective silver tape.  T.I.'s last 99/4A catalog
  6246.      lists 50 foot ($7.95), 25 foot ($6.95), and 10 foot ($5.95)
  6247.      wafertapes.  Five foot wafertapes are also mentioned in the Wafertape
  6248.      User's Guide.  Long tapes store more, but it takes longer to find the
  6249.      beginning of a specific file.  Official T.I. wafers have a little
  6250.      sliding panel that covers the exposed part of the tape at the edge of
  6251.      the wafer.  This slides open as the wafer is inserted into the slot on
  6252.      the Wafertape Drive.  I have one such T.I.  wafer and I also have some
  6253.      wafers without a T.I. label and without the sliding panel.  I wonder
  6254.      who made these "generic" wafers?^^I do know that other wafertape
  6255.      drives were planned or actually sold for other devices.  A wafertape
  6256.      drive for the Tandy 100 laptop computer is described in the March 1984
  6257.      issue of Creative Computing.  Also, see the comments below from Tony
  6258.      McGovern about another wafertape device.  Maybe my "generic"
  6259.      wafertapes were not made specifically for the TI Wafertape Drive. 
  6260.  
  6261.      The method of write protecting wafers is unusual.  When I first got my
  6262.      Wafertape Drive I thought it was defective because I always got a
  6263.      "write protected" error message whenever I tried to initialize a
  6264.      wafer.  I could find nothing resembling a write protect tab on my
  6265.      wafers, and looking inside the Wafertape Drive slot revealed no
  6266.      evidence of a mechanical pin associated with the "remove the tab and
  6267.      it is write protected" system of protection typically found on most
  6268.      audio and video tape cartridges.  It turns out that you have to put a
  6269.      "write enable" paper sticker at a specific location on the top of the
  6270.      wafer in order to write to the wafer.  Anything white will do.  This
  6271.      "write enable" piece of paper is OPTICALLY sensed from above by the
  6272.      Wafertape Drive.  In the absence of the sticker, the optical sensor
  6273.      sees through the transparent wafer upper surface and does not get a
  6274.      reflection off of the black wafer bottom.  A second optical sensor
  6275.      detects the silver end/beginning of tape marker.  This marker is the
  6276.      only reference point the wafertape drive has to tell the relative
  6277.      position of everything else on the tape.  On "8 track" continuous loop
  6278.      music cartridges, the end/beginning of tape marker is detected
  6279.      electronically.  This silver marker on a wafertape is detected through
  6280.      a window in the center of the wafer's transparent upper surface.  If
  6281.      the "write enable" sticker you are using is too big and covers this
  6282.      window, then the wafer will not be usable as I finally figured out
  6283.      after lots of frustration. 
  6284.               
  6285.      When you initialize a wafer with the FORMAT command of the CC40, the
  6286.      tape is advanced until the marker is optically detected, and then the
  6287.      Wafertape Drive prepares a new tape directory area at the beginning of
  6288.      the tape.  The entire tape is not magnetically encoded with FORMAT,
  6289.      just the directory area.  Software designed to directly read the
  6290.      contents of a wafertape directory reveals that if a previously used
  6291.      wafer is reFORMATted, the old file names are retained in the directory
  6292.      area, but all file lengths are set to zero.  The time required for a
  6293.      FORMAT depends on how close the tape is to its beginning when FORMAT
  6294.      begins.  Even a 50 foot tape formats very rapidly if it is already
  6295.      almost at its beginning. 
  6296.  
  6297.      A directory has room for 16 files irrespective of tape length.  Of
  6298.      course short tapes may not have enough room for 16 files if they are
  6299.      of significant length.  Files are written to the tape sequentially,
  6300.      with the directory keeping track of the file name, number (0-15), and
  6301.      length.  Apparently the Wafertape Drive locates specific files by file
  6302.      number, counting the End-Of-File indicators that pass by the
  6303.      read/write head as the tape is advanced to the start of the desired
  6304.      file.  Only the last file can be overwritten by another file of the
  6305.      same name.  If you write a file with the same name as a file already
  6306.      on the wafer that is not the last file on the wafer, the old file's
  6307.      directory reference is deleted and the new file of the same is written
  6308.      to fresh space after all the other files currently on the tape.  (I
  6309.      hope you understood that.) File types supported include PROGRAM, and
  6310.      INTERNAL or DISPLAY data files.  RELATIVE files are not supported, and
  6311.      you can't open data files as APPEND.  Although this is not made clear
  6312.      in available documentation, I think that when data files are read from
  6313.      wafertape, the entire file is read into computer memory for
  6314.      manipulation by the controlling program and then later if necessary
  6315.      written back to wafertape.  This limits the size of data files.  Only
  6316.      one wafertape file can be opened at a time. 
  6317.  
  6318.      To compare the speeds of the Quickdisk and Wafertape drives, I timed
  6319.      the SAVE and OLD of a 15300 byte text file from Memo Processor using a
  6320.      newly FORMATed wafer and disk.  Wafertape: SAVE, 4 min 25 sec; OLD; 3
  6321.      min, 10 sec.  Quickdisk: SAVE, 2 min 15 sec; OLD, only 38 seconds. 
  6322.           
  6323.      Why wasn't the Wafertape Digital Tape Drive ever officially released?
  6324.      It just did not meet T.I.'s standards for reliability.  It does not
  6325.      work well on battery power.  Even with four newly installed, fresh
  6326.      alkaline AA batteries, you almost always get an I/O error 25 (low
  6327.      batteries in peripheral) when you try to load something, and you often
  6328.      get the same error when you try to SAVE while on battery power.  The
  6329.      Wafertape Drive only works with much reliability when operated with
  6330.      the AC adapter.  Apparently the speed at which the tape crosses the
  6331.      Wafertape Drive's read/write head is critical, and variations in this
  6332.      speed are not tolerated.  With any battery, continuous power drain
  6333.      results in a voltage decrease compared to the initial voltage put out
  6334.      by the battery.  Such a voltage decrease slows down the drive motor.
  6335.      Also, as the Wafertape Drive operates it turns itself on and off
  6336.      several times as it loads or stores data.  Starting an electric motor
  6337.      requires an immediate surge of extra current compared to the current
  6338.      needed to keep the motor operating at constant speed once it has
  6339.      started.  It is possible that the Wafertape Drive's AA batteries are
  6340.      not able to maintain constant voltage with all the required on/off
  6341.      cycles.  In addition to the battery problem, it is sometimes possible
  6342.      to write data beyond the end of the wafertape and wipe out the
  6343.      directory on the other side of the reflective end/beginning of tape
  6344.      marker.  This renders all files on the tape useless.  I have managed
  6345.      to overwrite the end of a wafertape on two occasions.  At other times,
  6346.      when I deliberately tried to do this, the CC40 would not let me write
  6347.      past the end of a wafertape.  I sometimes get I/O error 6 (device
  6348.      error, try again) with the Wafertape drive for no reason I can
  6349.      determine.  Sometimes trying again doesn't work.  I never get these
  6350.      error messages when using my Quickdisk drive.  Finally, I suspect that
  6351.      wafertapes are not as durable as disks.  The tape is very tiny and is
  6352.      subject to a lot of physical movement and twisting as it moves within
  6353.      the wafer.  I suspect that with time the tape may break.  I know for
  6354.      example that I have had a higher percentage of my "8 track" music
  6355.      tapes break compared to my reel to reel cassette music tapes.  Let me
  6356.      quote from a letter received recently from Tony McGovern of Australia,
  6357.      senior author of FUNNELWEB.  "Wafer-tapes were always a disaster area!
  6358.      I think they appeared in one of Sinclair's UK machines. The other
  6359.      place they appeared, also in the UK, was in an abomination produced by
  6360.      ICL sold here, a computer phone -a combination of low end PC with
  6361.      modem/phone all built in- but no disk drive, only the wretched
  6362.      unreliable wafertape.  Telecom Australia probably has a warehouse full
  6363.      of these things that they would rather not be reminded of.  They had a
  6364.      great marketing campaign to sell these several years ago and no one
  6365.      wanted the turkeys." 
  6366.  
  6367.      I do use my Waertape drive.  It isn't that unreliable.  I have a
  6368.      little briefcase in which I can keep my CC40, the Wafertape Drive, my
  6369.      HexBus printer/plotter, a power strip, and all the necessary AC
  6370.      adapters all pluged in and ready to go.  I can open the briefcase and
  6371.      plug in the power strip and use the peripherals as they sit in the
  6372.      briefcase.  I can also use the printer/plotter and CC40 while still in
  6373.      the briefcase using battery power, but I have given up trying to use
  6374.      the Wafertape Drive with battery power.  I keep my HexBus RS232 and
  6375.      Quickdisk drive pluged in (these two devices both REQUIRE AC power)
  6376.      next to my 99/4A.  If possible, anything saved to wafertape ALSO
  6377.      eventually gets save to disk with the Quickdisk drive, which I find to
  6378.      be quite reliable. 
  6379.  
  6380. =============================================================================
  6381. C4ICS035
  6382.  
  6383. The attached are all text files.  They are listings of CC40 BASIC programs, 
  6384. including the all important BASIC word processor.  One of them is slightly 
  6385. modified for the TI74 from a similar CC40 program.  The DIR program is for 
  6386. the Mechatronics disk drive and has been modified by me to run programs 
  6387. directly from the disk directory.  Unfortunately parts of the program are 
  6388. unlistable and thus cannot be included in a text listing.
  6389. -------------------------------------
  6390. From: Charles W. Good
  6391. E-mail: cgood@.bright.net (Charles W. Good)
  6392.  
  6393. Content-type: TEXT/plain; CHARSET=US-ASCII; name=10CHRSET.TXT; SizeOnDisk=496
  6394. Content-description: 10CHRSET.TXT
  6395.  
  6396. 90  REM MAKES PRINTER/PLOTTER PRINT ITS CHAR SET
  6397. 100 OPEN #1,"10",OUTPUT
  6398. 110 FOR K=32 TO 47
  6399. 120 PRINT #1,K;CHR$(K);"   ";
  6400. 130 PRINT #1,K+16;CHR$(K+16)
  6401. 140 NEXT K
  6402. 150 PRINT #1,CHR$(10)
  6403. 160 FOR L=64 TO 79
  6404. 170 PRINT #1,L;CHR$(L);"   ";
  6405. 180 PRINT #1,L+16;CHR$(L+16)
  6406. 190 NEXT L
  6407. 200 PRINT #1,CHR$(10)
  6408. 210 FOR M=96 TO 111
  6409. 220 PRINT #1,M;CHR$(M);"   ";
  6410. 230 PRINT #1,M+16;CHR$(M+16)
  6411. 240 NEXT M
  6412. 250 CLOSE #1
  6413. 260 END
  6414.  
  6415.  
  6416. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6417. Content-type: TEXT/plain; CHARSET=US-ASCII; name=ADDRESS.TXT; SizeOnDisk=1263
  6418. Content-description: ADDRESS.TXT
  6419.  
  6420. 90 REM written by Charles Good, Lima Ohio User Group, May 1991
  6421. 100 PRINT "  --NAME/PHONE/ADDRESS FILE--":READALL=0:PAUSE 1
  6422. 102 !INPUT "READ ALL NAMES? Y/N ";YN$
  6423. 104 !IF YN$="Y"THEN READALL=1:GOTO 120
  6424. 106 !IF YN$="y"THEN READALL=1:GOTO 120
  6425. 110 PRINT "USE UPPER CASE TO ":PAUSE .5
  6426. 112 INPUT "ENTER DESIRED LAST NAME- ";INPUT$
  6427. 120 READ FN$:IF FN$="END"THEN PRINT "END OF FILE":PAUSE 1:RESTORE 1000:GOTO 100
  6428. 125 READ LN$,REST$:IF READALL=1 THEN 300
  6429. 127 IF POS(LN$,INPUT$,1)=0 THEN 120
  6430. 200 INPUT "Is the person "&FN$&" "&LN$&"? ";YN$
  6431. 210 IF YN$="Y"THEN 300
  6432. 215 IF YN$="y"THEN 300
  6433. 220 GOTO 120
  6434. 300 PRINT FN$&" "&LN$&" "&REST$:PAUSE
  6435. 305 IF READALL=1 THEN 120
  6436. 330 RESTORE 1000:GOTO 100
  6437. 990 REM FIRST NAME,LAST NAME,OTHER INFORMATIN such as phone number and address
  6438. 995 REM Use ONLY UPPERCASE in DATA STATEMENTS
  6439. 1000 DATA JACK,SUGHRUE,508-476-7630  BOX 459 EAST DOUGLAS MA 01516
  6440. 1075 DATA JIM,PETERSON,614-235-3545 156 COLLINGWOOD AVE  COLUMBUS OH 43213
  6441. 1090 DATA L.L.,CONNER,317-742-8146 1521 FERRY ST. LAFAYETTE IN 47904
  6442. 1130 DATA -,MICROPENDIUM,P.O. BOX 1343 ROUND ROCK TX 78680
  6443. 1215 DATA -,COMPETITION COMPUTER,414-672-4010 2219 S. MUSKEGO AVE MILWAUKEE53215
  6444. 10000 DATA END
  6445.  
  6446.  
  6447. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6448. Content-type: TEXT/plain; CHARSET=US-ASCII; name=ARROW.TXT; SizeOnDisk=1530
  6449. Content-description: ARROW.TXT
  6450.  
  6451. 10 REM ARROW GAME
  6452. 20 REM BY STEPHEN GUTKNECHT, TIPCC NOTES V13N3P14
  6453. 25 REM Press any key exactly when arrow hits target.
  6454. 27 REM Delay factor is 1-99
  6455. 30 REM 1/07/87
  6456. 1000 WS=5! DEFINE TARGET LIMIT
  6457. 2000 DISPLAY ERASE ALL,"Random Seed? 000";
  6458. 2020 ACCEPT AT(14)SIZE(-3)NULL(0)VALIDATE(DIGIT),S
  6459. 3000 DISPLAY ERASE ALL,"Delay for game?";
  6460. 3010 PAUSE .5
  6461. 3050 ON ERROR STOP
  6462. 3060 ON BREAK STOP
  6463. 3100 ACCEPT AT(17)SIZE(2)VALIDATE(DIGIT),GD
  6464. 3210 ON BREAK ERROR
  6465. 3500 GS=0
  6466. 3510 GN=0
  6467. 4000 S=S+1! Createdifferent seed for each game
  6468. 4100 RANDOMIZE S
  6469. 4500 KP=0
  6470. 4510 TL=INT(((31-WS)*RND)+WS)+1
  6471. 4600 RV=INT(2*RND)
  6472. 4800 ON (RV+1)GOSUB 7000,7200
  6473. 4900 DISPLAY ERASE ALL AT(TL),"*";
  6474. 5000 DISPLAY AT(AL),AR$;
  6475. 5010 PAUSE .7
  6476. 5100 IF GD=0 THEN 5500
  6477. 5200 L=FP
  6478. 5210 DISPLAY AT(L-LC),AF$;
  6479. 5300 DL=1
  6480. 5310 CALL KEY(KEY,KP):IF KP THEN 6000
  6481. 5320 IF DL=GD THEN 5400
  6482. 5330 DL=DL+1
  6483. 5340 GOTO 5310
  6484. 5400 L=L+LC
  6485. 5410 IF L=(TL+LC-RV)THEN 6100
  6486. 5420 GOTO 5210
  6487. 5500 L=FP
  6488. 5510 DISPLAY AT(L-LC),AF$;
  6489. 5520 CALL KEY(KEY,KP)
  6490. 5530 L=L+LC
  6491. 5540 IF L=(TL+LC-RV)THEN 6100
  6492. 5590 GOTO 5510
  6493. 6000 IF L=(TL-RV)THEN 6200
  6494. 6100 DISPLAY ERASE ALL,"Lose..";
  6495. 6120 GOTO 6500
  6496. 6200 DISPLAY ERASE ALL,"Win!!!";
  6497. 6210 GS=GS+1
  6498. 6500 PAUSE .3
  6499. 6510 GN=GN+1
  6500. 6520 DISPLAY AT(10),"Score:";GS;
  6501. 6530 DISPLAY AT(22),"Games:";GN;
  6502. 6600 CALL KEY(KEY,KP)
  6503. 6610 IF KP=0 THEN 6600
  6504. 6990 GOTO 4500
  6505. 7000 FP=2
  6506. 7010 LC=1
  6507. 7020 AL=1
  6508. 7030 AR$=">"
  6509. 7040 AF$="->"
  6510. 7190 RETURN
  6511. 7200 FP=29
  6512. 7210 LC=-1
  6513. 7220 AL=31
  6514. 7230 AR$="<"
  6515. 7240 AF$="<-"
  6516. 7300 TL=(31-TL)+1
  6517. 7390 RETURN
  6518.  
  6519. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6520. Content-type: TEXT/plain; CHARSET=US-ASCII; name=BARGRAPH.TXT; SizeOnDisk=540
  6521. Content-description: BARGRAPH.TXT
  6522.  
  6523. 80 REM BAR GRAPH for printer/plotter
  6524. 90 REM From TIPCC Notes v12n4p21 (1989)
  6525. 92 REM enter up to 20 values between 0 and 21
  6526. 95 REM Enter "E" or "e" to indiate end of data list
  6527. 100 DIM X(20)
  6528. 110 INPUT X$
  6529. 120 IF X$="E"OR X$="e"THEN 200
  6530. 130 K=K+1
  6531. 140 X(K)=VAL(X$)
  6532. 150 GOTO 110
  6533. 200 OPEN #1,"10",OUTPUT
  6534. 210 PRINT #1,CHR$(19)
  6535. 300 FOR I=1 TO K
  6536. 310 Y$=STR$(X(I)*10)
  6537. 320 P$="L(0,0),("&Y$&",0),("&Y$&",-20),(0,-20),(0,0)"
  6538. 330 PRINT #1,"O"
  6539. 340 PRINT #1,P$
  6540. 350 PRINT #1,"M(0,-21)"
  6541. 360 NEXT I
  6542. 400 PRINT #1,CHR$(17)
  6543. 410 CLOSE #1:END
  6544.  
  6545.  
  6546. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6547. Content-type: TEXT/plain; CHARSET=US-ASCII; name=BRHYTHM.TXT; SizeOnDisk=2051
  6548. Content-description: BRHYTHM.TXT
  6549.  
  6550. 900 REM Biorhythm, from TIPCC Notes v13n1p30 (1988)
  6551. 1000 A$="Biorhythms":PRINT A$:PAUSE
  6552. 11010 INPUT "Use Printer? Y/N ";Z$
  6553. 1020 IF Z$="Y"OR Z$="y"THEN PN=1 ELSE 1100
  6554. 1030 INPUT "Device Number? ";D$
  6555. 1070 OPEN #1,D$,OUTPUT1080 IF D$="10"THEN PRINT #1,CHR$(18)
  6556. 1090 PRINT #1:PRINT #1,A$:PRINT #1
  6557. 1100 B$="Birthday ":T$="Today ":I$="(mmdd.yyyy)? ":IF PN=0 THEN PAUSE ALL
  6558. 1105 DEG:Z=1:INPUT B$&I$;D$
  6559. 1110 GOTO 1800
  6560. 1115 DEG:Z=1:INPUT B$&I$;D$
  6561. 1140 PRINT #PN,B$&"      ";D$:IF PN=1 THEN PRINT #1
  6562. 1145 E=X1150 Z=2:INPUT T$&I$;D$
  6563. 1155 GOTO 1800
  6564. 1190 PRINT #PN,T$&"         ";D$:IF PN=1 THEN PRINT #1
  6565. 1195 F=X1200 G=F-E1210 PRINT #PN,G;"days old"
  6566. 1220 IF PN=1 THEN PRINT #1
  6567. 1230 D$=" Days into cycle "
  6568. 1240 P$=" % through cycle "
  6569. 1250 M$=" Amplitude       "
  6570. 1300 PRINT #PN,"Physical Cycle:"
  6571. 1305 X=G/23:X=X-INT(X):M=X:X=23*X
  6572. 1310 X=X+.1:X=INT(X)1315 H=X:X=X/23:X=1000*X1320 X=INT(X):X=X/10:T=X
  6573. 1325 GOSUB 1700
  6574. 1400 PRINT #PN,"Emotional Cycle:"
  6575. 1405 X=G/28:X=X-INT(X):M=X:X=28*X
  6576. 1410 X=X+.1:X=INT(X)
  6577. 1415 H=X:X=X/28:X=1000*X
  6578. 1420 X=INT(X):X=X/10:T=X
  6579. 1425 GOSUB 1700
  6580. 1500 PRINT #PN,"Intellectual Cycle:"
  6581. 1505 X=G/33:X=X-INT(X):M=X:X=33*X
  6582. 1510 X=X+.1:X=INT(X)
  6583. 1515 H=X:X=X/33:X=1000*X
  6584. 1520 X=INT(X):X=X/10:T=X
  6585. 1525 GOSUB 1700
  6586. 1600 INPUT "Another solution (Y/N)? ";Z$
  6587. 1605 IF Z$="Y"OR Z$="y"THEN 1610 ELSE END 1610 IF PN=1 THEN 1090 ELSE 1100
  6588. 1700 IF PN=1 THEN PRINT #1
  6589. 1705 PRINT #PN,D$;H
  6590. 1710 IF PN=1 THEN PRINT #1
  6591. 1715 PRINT #PN,P$;T
  6592. 1720 IF PN=1 THEN PRINT #1
  6593. 1725 M=INT(1000*SIN(360*M))/1000
  6594. 1730 PRINT #PN,M$;M
  6595. 1735 IF PN=1 THEN PRINT #1
  6596. 1740 RETURN
  6597. 1800 X=VAL(D$):B=X:GOSUB 1950:X=0
  6598. 1805 GOSUB 1950:IF X<A THEN 1900
  6599. 1810 X=X-INT(X):B=B-X:X=10000*X
  6600. 1815 D=X:GOSUB 1950:X=B:X=X/100:B=X
  6601. 1825 X=X-INT(X):B=B-X:X=100*X:C=X:IF X>=A THEN 1900
  6602. 1830 X=13:GOSUB 1950:X=B:IF X>=A THEN 1960
  6603. 1835 X1=365*D+C+31*B-311840 X=3:GOSUB 1950:X=B:IF X>A THEN 1960
  6604. 1845 D=D-11850 X=X1+INT(D/4)
  6605. 1855 X1=INT(D/100)1860 X1=.75+.75*X1
  6606. 1865 X1=INT(X1)1870 X=X-X1
  6607. 1895 ON Z GOTO 1140,1190
  6608. 1900 E$="Entry error: try again (Y/N)?"
  6609. 1910 INPUT E$;E$
  6610. 1920 IF E$="n"OR E$="N"THEN 1999
  6611. 1930 ON Z GOTO 1
  6612. 1999 REM 
  6613.  
  6614. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6615. Content-type: TEXT/plain; CHARSET=US-ASCII; name=CALENDA2.TXT; SizeOnDisk=1484
  6616. Content-description: CALENDA2.TXT
  6617.  
  6618. 90 REM PRINTS CALENDAR ON ANY PRINTER
  6619. 100 DIM Q(12),C$(5)
  6620. 110 DATA 31,28,31,30,31,30,31,31,30,31,30,31
  6621. 120 FOR I=1 TO 12:READ Q(I):NEXT I
  6622. 130 DATA "JANUARY  ","FEBRUARY ","MARCH    ","APRIL   ","MAY      ","JUNE     "
  6623. 140 DATA "JULY     ","AUGUST   ","SEPTEMBER","OCTOBER  ","NOVEMBER ","DECEMBER "
  6624. 150 INPUT "ENTER MONTH (1-12) ";M
  6625. 151 PRINT "PRINTER NAME ?"
  6626. 160 IF M<1 OR M>12 THEN 150
  6627. 170 INPUT "ENTER YEAR (>1582)  ";R
  6628. 180 IF R<1583 THEN 170
  6629. 190 IF R-4*INT(R/4)=0 THEN Q(2)=29
  6630. 200 IF R-100*INT(R/100)=0 THEN Q(2)=28
  6631. 210 IF R-400*INT(R/400)=0 THEN Q(2)=29
  6632. 220 R1=R-1:R2=R+INT(R1/4)-INT(R1/100)+INT(R1/400)
  6633. 230 FOR I=0 TO M-1:R2=R2+Q(I):NEXT I
  6634. 240 D1=R2-7*INT(R2/7)
  6635. 250 RESTORE 130:FOR I=1 TO M:READ M$:NEXT I
  6636. 255 INPUT "PRINTER NAME ? ";PR$
  6637. 260 OPEN #1,PR$,OUTPUT
  6638. 265 PRINT #1,CHR$(4)
  6639. 270 PRINT #1,TAB(3);M$;" ";R
  6640. 280 PRINT #1,CHR$(18);
  6641. 285 PRINT #1,CHR$(2)
  6642. 290 PRINT #1,"  SUN  MON  TUE  WED  THU  FRI  SAT"
  6643. 300 PRINT #1
  6644. 310 C$(0)=RPT$("     ",D1)
  6645. 320 FOR I=1 TO (7-D1):C$(0)=C$(0)&"   "&STR$(I)&" ":NEXT I
  6646. 330 PRINT #1,C$(0)
  6647. 340 C$(0)="":C$(4)="":C$(5)=""
  6648. 350 I=8-D1
  6649. 360 FOR K=1 TO 5
  6650. 370 IF K=1 THEN C$(K)="   " ELSE C$(K)="  "
  6651. 380 FOR L=1 TO 7
  6652. 390 IF I>8 THEN B$="   " ELSE B$="    "
  6653. 400 IF L=7 THEN B$=""
  6654. 410 C$(K)=C$(K)&STR$(I)&B$
  6655. 420 I=I+1:IF I>Q(M)THEN 450
  6656. 430 NEXT L
  6657. 440 NEXT K
  6658. 450 FOR I=1 TO 5:PRINT #1:PRINT #1,C$(I):NEXT I
  6659. 460 PRINT #1
  6660. 470 CLOSE #1:GOTO 150
  6661.  
  6662.  
  6663. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6664. Content-type: TEXT/plain; CHARSET=US-ASCII; name=CALENDAR.TXT; SizeOnDisk=1193
  6665. Content-description: CALENDAR.TXT
  6666.  
  6667. 90 REM PRINTS CALENDAR ON PRINTER PLOTTER
  6668. 100 DIM Q(12)
  6669. 105 DATA 31,28,31,30,31,30,31,31,30,31,30,31
  6670. 110 FOR I=1 TO 12:READ Q(I):NEXT I
  6671. 115 DATA "JANUARY  ","FEBRUARY ","MARCH    ","APRIL    ","MAR      ","JUNE     "
  6672. 120 DATA "JULY     ","AUGUST   ","SEPTEMBER","OCTOBER  ","NOVEMBER ","DECEMBER "
  6673. 130 INPUT "Enter Month (1-12): ";M
  6674. 135 IF M<1 OR M>12 THEN 130
  6675. 140 INPUT "Enter Year (> 1582): ";R
  6676. 145 IF R<1583 THEN 140
  6677. 150 IF R-4*INT(R/4)=0 THEN Q(2)=29
  6678. 155 IF R-100*INT(R/100)=0 THEN Q(2)=28
  6679. 160 IF R-400*INT(R-400)=0 THEN Q(2)=29
  6680. 165 R1=R-1:R2=R+INT(R1/4)-INT(R1/100)+INT(R1/400)
  6681. 170 FOR I=0 TO M-1:R2=R2+Q(I):NEXT I
  6682. 175 D1=R2-7*INT(R2/7)
  6683. 180 RESTORE 115:FOR I=1 TO M:READ M$:NEXT I
  6684. 185 OPEN #1,"10,S=0",OUTPUT
  6685. 190 PRINT #1,TAB(3);M$;"      ";R
  6686. 210 PRINT #1,"  Su Mo Tu We Th Fr Sa"
  6687. 225 C$=" "&RPT$("   ",D1)
  6688. 230 FOR I=1 TO 7-D1:C$=C$&"  "&STR$(I):NEXT I
  6689. 235 PRINT #1,C$
  6690. 245 I=8-D1
  6691. 250 C$=" "
  6692. 255 FOR L=1 TO 7
  6693. 260 IF I>9 THEN B$=" " ELSE B$="  "
  6694. 265 C$=C$&B$&STR$(I)
  6695. 270 I=I+1:IF I>Q(M)THEN PRINT #1,C$:GOTO 300
  6696. 275 NEXT L
  6697. 280 PRINT #1,C$
  6698. 285 GOTO 250
  6699. 300 PRINT #1
  6700. 305 CLOSE #1:GOTO 130
  6701.  
  6702.  
  6703. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6704. Content-type: TEXT/plain; CHARSET=US-ASCII; name=CATWAF.TXT; SizeOnDisk=1160
  6705. Content-description: CATWAF.TXT
  6706.  
  6707. 90 REM CATALOG PROGRAM COPIED FROM WAFERTAPE USER GUIDE
  6708. 100 INPUT "DRIVE NUMBER:  ";DN
  6709. 110 LINPUT "LIST DEVICE:  ";LD$
  6710. 120 OPEN #1,LD$,OUTPUT
  6711. 130 PRINT #1,"File #  File Name     # Of Recs."
  6712. 140 IMAGE "  ##    ##############  ####      "
  6713. 150 RECN=0
  6714. 160 CALL GETMEM(13,CATADDR)
  6715. 170 CALL GETMEM(22,BUFFADDR)
  6716. 180 CALL SPLIT(BUFFADDR+21,MSB,LSB)
  6717. 190 CALL SPLIT(RECN,MSB2,LSB2)
  6718. 200 PAB$=CHR$(DN)&CHR$(14)&CHR$(0)&CHR$(LSB2)&CHR$(MSB2)
  6719. 210 PAB$=PAB$&CHR$(32)&CHR$(0)&CHR$(0)&CHR$(0)&CHR$(0)
  6720. 220 PAB$=PAB$&CHR$(LSB)&CHR$(MSB)
  6721. 230 CALL IO(PAB$,STATUS)
  6722. 240 IF STATUS=0 THEN 300
  6723. 250 IF STATUS=3 THEN CLOSE #1:STOP
  6724. 260 PRINT "READ ERROR--";STATUS:PAUSE:CLOSE #1:STOP
  6725. 300 FILE$=""
  6726. 310 FOR I=1 TO 12
  6727. 320 CALL PEEK(BUFFADDR+21-I,K)
  6728. 330 FILE$=FILE$&CHR$(K)
  6729. 340 NEXT I
  6730. 380 CALL PEEK(BUFFADDR+7,K,L)
  6731. 390 MAXSIZ=K*256+L
  6732. 430 CALL PEEK(BUFFADDR+5,K,L)
  6733. 440 NRECS=K*256+L
  6734. 480 CALL PEEK(BUFFADDR+4,FLAGS)
  6735. 490 PRINT #1,USING 140,RECN,FILE$,NRECS;
  6736. 530 PRINT #1
  6737. 540 RECN=RECN+1
  6738. 550 GOTO 190
  6739. 610 SUB SPLIT(DATAVAL,MSB,LSB)
  6740. 620 MSB=INT(DATAVAL/256)
  6741. 630 LSB=DATAVAL-MSB*256
  6742. 640 SUBEND
  6743.  
  6744.  
  6745. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6746. Content-type: TEXT/plain; CHARSET=US-ASCII; name=DATATRAN.TXT; SizeOnDisk=1965
  6747. Content-description: DATATRAN.TXT
  6748.  
  6749. 100 !DATA TRANSFER PROGRAM
  6750. 110 !CC40 ENHANCED BASIC
  6751. 120 !SET UP
  6752. 130 N$="NAME: ":T$="TYPE: ":P$="PRICE: ":Q$="QUANTITY; "
  6753. 140 IMAGE NAME: ##################### TYPE: ###############
  6754. 150 IMAGE QUANTITY: #### AT $######.##
  6755. 160 !SET UP FOR OLD OR NEW FILES
  6756. 170 DISPLAY "ENTER DEV.FILE: ";
  6757. 180 ACCEPT AT(17)SIZE(-13)VALIDATE(UALPHA,NUMERIC)NULL("1.DATA")REC,DF$
  6758. 190 DISPLAY AT(1),"OLD OR NEW FILE? (O OR N) ";
  6759. 200 ACCEPT SIZE(-1)VALIDATE("OoNn")REC,K$
  6760. 210 IF K$="N"OR K$="n"THEN FORMAT 1
  6761. 220 OPEN #1,DF$,DISPLAY
  6762. 230 IF K$="O"OR K$="O"THEN GOSUB 470
  6763. 240 !ACCEPT DATA FROM KEYBOARD
  6764. 250 DISPLAY ERASE ALL,N$;:ACCEPT SIZE(-20)VALIDATE(ALPHANUM),NAME$
  6765. 260 DISPLAY ERASE ALL,T$;:ACCEPT SIZE(-15)VALIDATE(ALPHANUM),TYPE$
  6766. 270 DISPLAY ERASE ALL,Q$;:ACCEPT SIZE(-4)VALIDATE(DIGIT),Q
  6767. 280 DISPLAY ERASE ALL,P$;:ACCEPT SIZE(-9)VALIDATE(NUMERIC),P
  6768. 290 ! PROOF THE INPUT DATA
  6769. 300 DISPLAY ERASE ALL USING 140,NAMES$,TYPE$;
  6770. 310 DISPLAY SIZE(-28)USING 150,Q,P;:PAUSE
  6771. 320 ! CHECK FOR CORRECTIONS
  6772. 330 DISPLAY AT(1)ERASE ALL,"CORRECTIONS? (Y OR N) ";:GOSUB 450
  6773. 340 IF K$="Y"OR K$="y"THEN GOSUB 490
  6774. 350 ! OUTPUT THE DATA TO WAFERTAPE
  6775. 360 PRINT #1,NAME$:PRINT #1,TYPE$:PRINT #1,Q:PRINT #1,P
  6776. 370 !CHECK FOR MORE DATA
  6777. 380 DISPLAY AT(1)ERASE ALL,"MORE DATA? (Y OR N)";:GOSUB 450
  6778. 390 !STOP OR REPEAT
  6779. 400 IF K$="N"OR K$="n"THEN CLOSE #1:STOP ELSEGOTO 250
  6780. 410 !
  6781. 420 ! SUBROUTINES
  6782. 430 !
  6783. 440 !CHECK FOR YES OR NO
  6784. 450 ACCEPT SIZE(-1)VALIDATE("YyNn"),K$:RETURN
  6785. 460 !ADVANCE TO END OF FILE,IF OLD FILE
  6786. 470 IF EOF(1)THEN RETURN ELSE INPUT #1,A$,B$,C,D:GOTO 470
  6787. 480 ! EDIT AND CORRECT DATA ENTRY
  6788. 490 DISPLAY ERASE ALL,N$;NAME$;
  6789. 500 ACCEPT AT(7)SIZE(-20)VALIDATE(ALPHANUM)REC,NAME$
  6790. 510 DISPLAY ERASE ALL,T$;TYPE$;
  6791. 520 ACCEPT AT(7)SIZE(-15)VALIDATE(ALPHANUM)REC,TYPE$
  6792. 530 DISPLAY ERASE ALL,Q$;Q;:ACCEPT AT(12)SIZE(-4)VALIDATE(DIGIT)REC,Q
  6793. 540 DISPLAY ERASE ALL,P$;:DISPLAY SIZE(-10)USING"$######.##",P;
  6794. 550 ACCEPT AT(9)SIZE(-9)VALIDATE(NUMERIC)REC,P
  6795. 560 RETURN
  6796.  
  6797.  
  6798. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6799. Content-type: TEXT/plain; CHARSET=US-ASCII; name=DIR.TXT; SizeOnDisk=2749
  6800. Content-description: DIR.TXT
  6801.  
  6802. 90 REM Quickdisk DIR program modified by Charles Good.
  6803. 95 REM Some lines can't be typed in such as 330 and 340.  You need the
  6804. 97 REM original DIR program to make this listing work.
  6805. 100 !         "8,DIR"
  6806. 110 !  3.3.1986/SEPTEMBER 1990
  6807. 120 !  V3.1
  6808. 130 PRINT "     --QUICKDISK Catalog--":PAUSE 1.5
  6809. 132 PRINT "Press ENTER to show next file,":PAUSE 1.5
  6810. 134 PRINT "or RUN to boot listed program.":PAUSE 1.5
  6811. 140 PRINT " Printer ? [Y/N]":Q$=KEY$
  6812. 150 IF Q$="n"OR Q$="N"THEN 260 ELSE IF Q$="y"OR Q$="Y"THEN DR=1 ELSE 140
  6813. 160 LINPUT "Printer device number: ";Q$
  6814. 170 ON ERROR 220:OPEN #6,Q$,OUTPUT
  6815. 175 IF Q$="10"THEN PRINT #6,CHR$(18)
  6816. 180 LINPUT "ENTER QuickDisk name: ";R$
  6817. 190 PRINT #6,"     Directory for QUICKDISK ";R$
  6818. 200 PRINT #6,"FILE #//";"FILE NAME//";"FILE LENGTH//";"TYPE"
  6819. 210 CLOSE #6:GOTO 260
  6820. 220 CALL ERR(KD,TP,DT,ZE):IF KD=24 THEN Z=Z+1
  6821. 230 IF Z>3 THEN PRINT "NO PRINTER ATTACHED!":PAUSE 2.1:END
  6822. 240 PRINT "INVALID PRINTER NUMBER!":PAUSE:RETURN 160
  6823. 250 PRINT "Kd.:";KD;"Typ:";TP;"Dt:";DT;"Ze:";ZE:PAUSE:STOP
  6824. 260 !TEST1
  6825. 330 CALL GETMEM(18,
  6826. 340 CALL SPLIT(
  6827. 350 FNU
  6828. 355 PRINT "      --SEARCHING DISK--"
  6829. 360 CALL SPLIT(FNU
  6830. 370 PAB$=CHR$(8)&CHR$(14)&CHR$(0)&CHR$(L)&CHR$(H)&CHR$(0)&CHR$(18)
  6831. 380 PAB$=PAB$&RPT$(CHR$(0),3)&CHR$(
  6832. 390 CALL IOX(PAB$,STATUS):IF DR=1 THEN 420
  6833. 395 IF STATUS<>3 THEN 410
  6834. 400 IF STATUS=3 THEN PRINT "TOTAL BYTES THIS DISK: ";SM:PAUSE
  6835. 405 PRINT "CATALOG COMPLETE":PAUSE 1.5:STOP
  6836. 410 IF STATUS<>0 THEN PRINT "IO ERROR":PAUSE:STOP
  6837. 420 CALL PEEK(
  6838. 430 NAME$="":NAME3$=""
  6839. 440 FOR I=16 TO 5 STEP -1
  6840. 450 CALL PEEK(
  6841. 460 NEXT I
  6842. 470 CALL PEEK(
  6843. 480 RLEN=MSB*256+LSB
  6844. 490 CALL PEEK(
  6845. 500 RNUM=MSB*256+LSB
  6846. 505 IF STATUS<>0 THEN 550
  6847. 510 CALL PEEK(
  6848. 520 PRINT USING 530,FNU
  6849. 521 SM=SM+(RLEN*RNUM)
  6850. 522 FOR I=1 TO 12
  6851. 523 NAME2$=SEG$(NAME$,I,1):NAM=ASC(NAME2$)
  6852. 525 IF NAM>32 AND NAM<127 THEN NAME3$=NAME3$&CHR$(NAM)
  6853. 526 NEXT I
  6854. 527 CALL KEY(K,S):IF S=0 THEN 527
  6855. 528 IF K=191 THEN PRINT "  --Searching disk for RUN--":RUN "8."&NAME3$
  6856. 530 IMAGE "F## ############ ##### #### ###"
  6857. 540 IF DR=0 THEN 650
  6858. 550 IF Q$="10"THEN OPEN #6,"10.C=N",OUTPUT:PRINT #6,CHR$(18):GOTO 560
  6859. 555 OPEN #6,Q$,OUTPUT
  6860. 560 IF STATUS=3 THEN 610
  6861. 570 IF STATUS<>0 THEN PRINT "IO ERROR":PAUSE:STOP
  6862. 580 IF FLAGS=0 THEN T$="PROGRAMM" ELSE IF FLAGS=1 THEN T$="DIS-DATEN"
  6863. 590 IF FLAGS=9 THEN T$="INT-DATEN"
  6864. 600 PRINT #6,USING 630,DNR,NAME$,RLEN*RNUM,T$
  6865. 605 DNR=DNR+1:GOTO 620
  6866. 610 PRINT #6,USING"TOTAL DATA STORED:  #####  bytes",SM:GOTO 400
  6867. 620 CLOSE #6
  6868. 630 IMAGE "##      ############  #####  #########"
  6869. 650 FNU
  6870. 660 GOTO 355
  6871. 670 SUB SPLIT(ADR,LEFT,RIGHT)
  6872. 680 LEFT=INT(ADR/256)
  6873. 690 RIGHT=ADR-(LEFT*256)
  6874. 700 !PRINT ADR;LEFT;RIGHT:PAUSE
  6875. 710 SUBEND
  6876.  
  6877.  
  6878. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6879. Content-type: TEXT/plain; CHARSET=US-ASCII; name=DIRWAFER.TXT; SizeOnDisk=2506
  6880. Content-description: DIRWAFER.TXT
  6881.  
  6882. 100 !         "1,DIR"
  6883. 110 !  3.3.1986/AUGUST 1990
  6884. 120 !  V3.1
  6885. 130 PRINT "     --Wafertape Catalog--":PAUSE 1.5
  6886. 132 PRINT "Press ENTER to show next file,":PAUSE 1.5
  6887. 134 PRINT "or RUN to boot listed program.":PAUSE 1.5
  6888. 140 PRINT " Printer ? [Y/N]":Q$=KEY$
  6889. 150 IF Q$="n"OR Q$="N"THEN 260 ELSE IF Q$="y"OR Q$="Y"THEN DR=1 ELSE 140
  6890. 160 LINPUT "Printer device number: ";Q$
  6891. 170 ON ERROR 220:OPEN #6,Q$,OUTPUT
  6892. 175 IF Q$="10"THEN PRINT #6,CHR$(18)
  6893. 180 LINPUT "ENTER Wafertape name: ";R$
  6894. 190 PRINT #6,"     Directory for Wafertape ";R$
  6895. 200 PRINT #6,"FILE #//";"FILE NAME//";"TOTAL FILE LENGTH"
  6896. 210 CLOSE #6:GOTO 260
  6897. 220 CALL ERR(KD,TP,DT,ZE):IF KD=24 THEN Z=Z+1
  6898. 230 IF Z>3 THEN PRINT "NO PRINTER ATTACHED!":PAUSE 2.1:END
  6899. 240 PRINT "INVALID PRINTER NUMBER!":PAUSE:RETURN 160
  6900. 250 PRINT "Kd.:";KD;"Typ:";TP;"Dt:";DT;"Ze:";ZE:PAUSE:STOP
  6901. 260 !TEST1
  6902. 330 CALL GETMEM(18,
  6903. 340 CALL SPLIT(
  6904. 350 FNU
  6905. 355 PRINT "      --SEARCHING WAFER--"
  6906. 360 CALL SPLIT(FNU
  6907. 370 PAB$=CHR$(1)&CHR$(14)&CHR$(0)&CHR$(L)&CHR$(H)&CHR$(0)&CHR$(18)
  6908. 380 PAB$=PAB$&RPT$(CHR$(0),3)&CHR$(
  6909. 390 CALL IO(PAB$,STATUS):IF DR=1 THEN 420
  6910. 400 IF STATUS=26 THEN PRINT "CATALOG COMPLETE":PAUSE:STOP
  6911. 405 IF STATUS=6 THEN PRINT "CATALOG COMPLETE":PAUSE:STOP
  6912. 410 IF STATUS<>0 THEN PRINT "IO ERROR":PAUSE:STOP
  6913. 420 CALL PEEK(
  6914. 430 NAME$="":NAME3$=""
  6915. 440 FOR I=16 TO 5 STEP -1
  6916. 450 CALL PEEK(
  6917. 460 NEXT I
  6918. 470 CALL PEEK(
  6919. 480 RLEN=MSB*256+LSB
  6920. 490 CALL PEEK(
  6921. 500 RNUM=MSB*256+LSB
  6922. 503 IF STATUS=6 THEN 510
  6923. 505 IF STATUS<>0 THEN 550
  6924. 510 CALL PEEK(
  6925. 520 PRINT USING 530,FNU
  6926. 522 FOR I=1 TO 12
  6927. 523 NAME2$=SEG$(NAME$,I,1):NAM=ASC(NAME2$)
  6928. 525 IF NAM>32 AND NAM<127 THEN NAME3$=NAME3$&CHR$(NAM)
  6929. 526 NEXT I
  6930. 527 CALL KEY(K,S):IF S=0 THEN 527
  6931. 528 IF K=191 THEN PRINT "  --Searching wafer for RUN--":RUN "1."&NAME3$
  6932. 530 IMAGE "F## ############ ##### #### ###"
  6933. 540 IF DR=0 THEN 650
  6934. 550 IF Q$="10"THEN OPEN #6,"10.C=N",OUTPUT:PRINT #6,CHR$(18):GOTO 560
  6935. 555 OPEN #6,Q$,OUTPUT
  6936. 560 IF STATUS=26 THEN 610
  6937. 565 IF STATUS=6 THEN 610
  6938. 570 IF STATUS<>0 THEN PRINT "IO ERROR":PAUSE:STOP
  6939. 580 !IF FLAGS=0 THEN T$="PROGRAMM" ELSE IF FLAGS=1 THEN T$="DIS-DATEN"
  6940. 590 !IF FLAGS=9 THEN T$="INT-DATEN"
  6941. 600 PRINT #6,USING 630,DNR,NAME$,RLEN*RNUM,T$
  6942. 605 DNR=DNR+1:GOTO 620
  6943. 610 PRINT #6,USING"TOTAL DATA STORED:  #####  bytes",SM:GOTO 400
  6944. 620 CLOSE #6
  6945. 630 IMAGE "##      ############  #####  #########"
  6946. 650 FNU
  6947. 660 GOTO 355
  6948. 670 SUB SPLIT(ADR,LEFT,RIGHT)
  6949. 680 LEFT=INT(ADR/256)
  6950. 690 RIGHT=ADR-(LEFT*256)
  6951. 700 !PRINT ADR;LEFT;RIGHT:PAUSE
  6952. 710 SUBEND
  6953.  
  6954.  
  6955. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  6956. Content-type: TEXT/plain; CHARSET=US-ASCII; name=FINHLP40.TXT; SizeOnDisk=8598
  6957. Content-description: FINHLP40.TXT
  6958.  
  6959. 1 REM for 18K CC40.  Must break up for 6K CC40 to use
  6960. 2 PRINT "    FINANCIAL PLANNING HELPS":PAUSE 3
  6961. 4 PRINT "      by Rob't M Charlson":PAUSE 3
  6962. 6 PRINT "    of DOLLAR DIRECTORS,INC.":PAUSE 3
  6963. 8 DISPLAY "  INVESTMENT RESULTS (Y/N)? ":K$=KEY$
  6964. 10 IF K$="Y"OR K$="y"THEN 12 ELSE IF K$="N"OR K$="n"THEN 48 ELSE 8
  6965. 12 DISPLAY " Press Prog #    Any Key= Next":PAUSE 3
  6966. 14 DISPLAY " 1=LUMP SUM inv   2=Monthly Inv":K$=KEY$
  6967. 16 IF K$="1"THEN 100 ELSE IF K$="2"THEN 200 ELSE 18
  6968. 18 DISPLAY " 3=Check-A-Month  4=PV-Pension":K$=KEY$
  6969. 20 IF K$="3"THEN 300 ELSE IF K$="4"THEN 400 ELSE 22
  6970. 22 DISPLAY "  5=A.P.R.%      6=MO-MTG-PMT":K$=KEY$
  6971. 24 IF K$="5"THEN 500 ELSE IF K$="6"THEN 600 ELSE 26
  6972. 26 DISPLAY " 7= Amortize Mortgage Payments":K$=KEY$
  6973. 28 IF K$="7"THEN 700 ELSE 48
  6974. 48 DISPLAY "   TI's Finance Module (Y/N)? ":K$=KEY$
  6975. 50 IF K$="Y"OR K$="y"THEN 52 ELSE IF K$="N"OR K$="n"THEN 96 ELSE 48
  6976. 52 DISPLAY " With Finance Module inserted ":PAUSE 2
  6977. 54 DISPLAY "Press Prog #    Any key= Next":PAUSE 3
  6978. 56 DISPLAY "  1=Directory      2=Calendar ":K$=KEY$
  6979. 58 IF K$="1"THEN 71 ELSE IF K$="2"THEN 72 ELSE 60
  6980. 60 DISPLAY " 3=Cash Flow   4=Data Forecast":K$=KEY$
  6981. 62 IF K$="3"THEN 73 ELSE IF K$="4"THEN 74 ELSE 64
  6982. 64 DISPLAY " 5=Bus Forecast  6=Lease/Purch":K$=KEY$
  6983. 66 IF K$="5"THEN 75 ELSE IF K$="6"THEN 76 ELSE 68
  6984. 68 DISPLAY " 7=Machine Repl    8=Money Eval":K$=KEY$
  6985. 70 IF K$="7"THEN 77 ELSE IF K$="8"THEN 78 ELSE 96
  6986. 71 RUN "DIR"
  6987. 72 RUN "CAL"
  6988. 73 RUN "CFLOW"
  6989. 74 RUN "FCAST"
  6990. 75 RUN "FNEED"
  6991. 76 RUN "LPURC"
  6992. 77 RUN "MREPL"
  6993. 78 RUN "MEVAL"
  6994. 96 DISPLAY "1=ReRun  Module    2=ReRun Inv":K$=KEY$
  6995. 98 IF K$="1"THEN 56 ELSE IF K$="2"THEN 14 ELSE 96
  6996. 100 DISPLAY REC,"  LUMP SUM Investment Results:":PAUSE 3
  6997. 105 GOSUB 171:GOSUB 172:GOSUB 173:GOSUB 174
  6998. 110 FV=INV*((1+ROI/100/CPY)^(YRS*CPY)):FV=INT(FV*1+.5)
  6999. 115 DISPLAY "     Future Dollars = $";FV:PAUSE
  7000. 120 DISPLAY " Investment +Time & Earnings =":PAUSE 3
  7001. 125 GAIN=FV-INV:GAIN=INT(GAIN*1+.5)
  7002. 130 DISPLAY REC,"$";INV;" +$";GAIN;"=$";FV:PAUSE
  7003. 135 DISPLAY "  Do you want Changes (Y/N)? ":K$=KEY$! similar to CALL KEY(K,S)
  7004. 140 IF K$="Y"OR K$="y"THEN 145 ELSE IF K$="N"OR K$="n"THEN 155 ELSE 135
  7005. 145 DISPLAY " 1=INV  2=ROI%  3=YRS 4=CPY #":CALL KEY(K,S):IF S=0 THEN 145
  7006. 150 IF K<49 OR K>52 THEN 145 ELSE ON K-48 GOSUB 171,172,173,174:GOTO 110
  7007. 155 DISPLAY " 1=MENU, 2=NEXT PROG, 3=EXIT":K$=KEY$
  7008. 160 IF K$="1"THEN 8 ELSE IF K$="2"THEN 200 ELSE END
  7009. 171 INPUT " Lump Sum Investment = $";INV:RETURN
  7010. 172 INPUT " Est Retn-on-Invstment = % ";ROI:RETURN
  7011. 173 INPUT " Years For Money To Work = ";YRS:RETURN
  7012. 174 INPUT "    Compundings Per Year = ";CPY:RETURN
  7013. 200 DISPLAY REC,"  Regular Periodic Investing:":PAUSE 3
  7014. 205 GOSUB 271:GOSUB 272:GOSUB 273:GOSUB 274
  7015. 210 TOT=PMT*((1+ROI/100/TPY)^(TPY*YRS)-1)/(ROI/100/TPY)*(1+ROI/100/TPY)
  7016. 215 GAIN=TOT-((PMT*TPY)*YRS)
  7017. 220 DISPLAY REC,"Dollars Accumulated =$";INT(TOT*1+.5):PAUSE
  7018. 225 DISPLAY " $ INV PMTS  + $ ROI = $ TOTAL ":PAUSE 2.5
  7019. 230 DISPLAY "$";INT(PMT*TPY)*YRS;" + $";INT(GAIN*1+.5);"= $";INT(TOT*1+.5):PAUSE
  7020. 235 DISPLAY " Do you want Changes (Y/N)? ":CALL KEY(K,S):IF S=0 THEN 235
  7021. 240 IF K=ASC("Y")OR K=ASC("y")THEN 250! 2nd method for CALL KEY(K,S)
  7022. 245 IF K=ASC("N")OR K=ASC("n")THEN 260 ELSE 235
  7023. 250 DISPLAY " 1=PMT, 2=TPY,  3=ROI, 4=YRS #":CALL KEY(K,S):IF S=0 THEN 250
  7024. 255 IF K<49 OR K>52 THEN 240 ELSE ON K-48 GOSUB 271,272,273,274:GOTO 210
  7025. 260 DISPLAY " 1=MENU,  2=NEXT PROG, 3=EXIT":K$=KEY$
  7026. 265 IF K$="1"THEN 8 ELSE IF K$="2"THEN 300 ELSE END
  7027. 271 INPUT " Investing By Mo.Qtr.Yr.=$";PMT:RETURN
  7028. 272 INPUT "     Times Per Year Added x ";TPY:RETURN
  7029. 273 INPUT " Est Retn-On-Investment % ";ROI:RETURN
  7030. 274 INPUT "     Years to Future Goal ? ";YRS:RETURN
  7031. 300 DISPLAY REC," Check-A-Month Withdrawal Plan":PAUSE 3
  7032. 305 GOSUB 371:GOSUB 372:GOSUB 373
  7033. 310 X=PV*ROI/1200:Y=(1+ROI/1200)^(12*ANN):CKS=X/(1-1/Y)
  7034. 315 DISPLAY REC;ANN;"Yr Annuity CK-A-MO=$";INT(CKS*1+.5):PAUSE
  7035. 320 TOT=((CKS*12)*ANN-PV):DISPLAY " $Invested  + Gain  = $TOT-OUT ":PAUSE 2.5
  7036. 325 DISPLAY REC,"$";PV;"  +";INT(TOT*1+.5);" $";INT((CKS*12)*ANN*1+.5):PAUSE
  7037. 330 DISPLAY "  Do You Want Changes (Y/N)?":CALL KEY(K,S):IF S=0 THEN 330
  7038. 335 IF K=89 OR K=121 THEN 345! 3rd  method for Call Key(K,S)
  7039. 340 IF K=78 OR K=110 THEN 355 ELSE 330
  7040. 345 DISPLAY " 1=INV   2=APR%   3=Life Yrs ":CALL KEY(K,S):IF S=0 THEN 345
  7041. 350 IF K<49 OR K>51 THEN 345 ELSE ON K-48 GOSUB 371,372,373:GOTO 310
  7042. 355 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7043. 360 IF K$="1"THEN 8 ELSE IF K$="2"THEN 400 ELSE END
  7044. 371 INPUT "  Present Inv Worth = $";PV:RETURN
  7045. 372 INPUT "       Est Retn-On-Inv % ";ROI:RETURN
  7046. 373 INPUT " Est Lifetime Annuity Yrs: ";ANN:RETURN
  7047. 400 DISPLAY REC," Present Value of Your Pension":PAUSE 3
  7048. 405 GOSUB 471:GOSUB 472:GOSUB 473
  7049. 410 PV=PMT*((1-(1+APR)^-YRS)/APR)
  7050. 415 DISPLAY REC,"LUMP SUM To Duplicate=$";INT(PV*1+.5):PAUSE 4.5
  7051. 420 ADD=(PMT*YRS)-PV
  7052. 425 DISPLAY;YRS;"yrs at";100*APR;"% ADDS +$";INT(ADD*1+.5):PAUSE 3
  7053. 430 DISPLAY REC;"PV$";INT(PV*1+.5);"+";INT(ADD*1+.5);"=CKS$";(PMT*YRS):PAUSE
  7054. 435 DISPLAY "  Do You Want Changes (Y/N)?":K$=KEY$
  7055. 440 IF K$="Y"OR K$="y"THEN 445 ELSE IF K$="N"OR K$="n"THEN 455 ELSE 435
  7056. 445 DISPLAY " 1=W-2P   2=Life Yrs  3=APR% #":CALL KEY(K,S):IF S=0 THEN 445
  7057. 450 IF K<49 OR K>51 THEN 445 ELSE ON K-48 GOSUB 471,472,473:GOTO 410
  7058. 455 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7059. 460 IF K$="1"THEN 8 ELSE IF K$="2"THEN 500 ELSE END
  7060. 471 INPUT " W-2 Annual Pension = $ ";PMT:RETURN
  7061. 472 INPUT " I.R.S Life Expectancy Yrs=";YRS:RETURN
  7062. 473 INPUT " Annuitized Interest RAte % ";APR:APR=.01*APR:RETURN
  7063. 500 DISPLAY REC,"  A.P.R. % Retn-on-Investment:":PAUSE 3
  7064. 505 GOSUB 571:GOSUB 572:GOSUB 573
  7065. 510 ROI=((OUT/IN)^(1/YRS))-1
  7066. 515 X=INT(10000*(ROI+.00005)):ROI=X/10000
  7067. 520 DISPLAY REC,"          A.P.R.=";ROI*100;"%":PAUSE
  7068. 525 DISPLAY;IN;"";ROI*100;" %";YRS;"yr $";OUT:PAUSE
  7069. 530 DISPLAY "  Do You Want Changes (Y/N)?":K$=KEY$
  7070. 535 IF K$="Y"OR K$="y"THEN 540 ELSE IF K$="N"OR K$="n"THEN 550 ELSE 530
  7071. 540 DISPLAY "1=$OUT  2=$IN  3=YRS INV ":CALL KEY(K,S):IF S=0 THEN 540
  7072. 545 IF K<49 OR K>51 THEN 540 ELSE ON K-48 GOSUB 571,572,573:GOTO 510
  7073. 550 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7074. 560 IF K$="1"THEN 8 ELSE IF K$="2"THEN 600 ELSE END
  7075. 571 INPUT "      Value If Sold = $";OUT:RETURN
  7076. 572 INPUT " Beginning Investment $ ";IN:RETURN
  7077. 573 INPUT " Number Years Invested ?";YRS:RETURN
  7078. 600 DISPLAY REC," Monthly MTGE or Loan Payments:":PAUSE 2
  7079. 605 GOSUB 671:GOSUB 672:GOSUB 673
  7080. 610 X1=MTG*IR/1200:X2=(1+IR/1200)^(12*YRS):PMT=X1/(1-1/X2)
  7081. 615 DISPLAY REC,"   Monthly Payment = $";INT(PMT*100+.5)/100:PAUSE
  7082. 620 DISPLAY "    Truth in Lending Totals:":PAUSE 2
  7083. 625 TOT=(PMT*12)*YRS:DISPLAY " Mortgage +Intr Cost =Tot Cost":PAUSE 2
  7084. 630 DISPLAY REC," $";MTG;" +";INT(TOT-MTG);" =$";INT(TOT+.5):PAUSE
  7085. 635 DISPLAY "  Do You Want Changes (Y/N)?":K$=KEY$
  7086. 640 IF K$="Y"OR K$="y"THEN 645 ELSE IF K$="N"OR K$="n"THEN 655 ELSE 635
  7087. 645 DISPLAY "Change: 1=MTG  2=INT%  3=YRS #":CALL KEY(K,S):IF S=0 THEN 645
  7088. 650 IF K<49 OR K>51 THEN 645 ELSE ON K-48 GOSUB 671,672,673:GOTO 610
  7089. 655 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7090. 660 IF K$="1"THEN 8 ELSE IF K$="2"THEN 700 ELSE END
  7091. 671 INPUT "Price-Dn Pmt= Mortgage $";MTG:RETURN
  7092. 672 INPUT "       Interest Rate % = ";IR:RETURN
  7093. 673 INPUT "      Years To Pay-Off = ";YRS:RETURN
  7094. 700 DISPLAY REC,"    Amortization Schedule:":PAUSE 3
  7095. 702 INPUT "       Loan Amount $";AMT," Number Monthly Payments # ";NMP
  7096. 704 INPUT " Annual Interest Rate %? ";APR
  7097. 706 APR=APR/1200
  7098. 708 PMT=AMT*(APR/(1-(1+APR)^(-NMP)))
  7099. 710 TOT=INT(PMT*NMP*100)/100
  7100. 712 MPYMT=INT(PMT*100)/100
  7101. 714 LASTP=TOT-MPYMT*(NMP-1)
  7102. 716 DISPLAY USING"   Monthly Payment= $####.##";MPYMT:PAUSE
  7103. 718 DISPLAY USING"   Last Mo. Payment= $####.##";LASTP:PAUSE
  7104. 720 INPUT "Show Schedule From Month # ";START,"            to Month # ";QUIT
  7105. 722 COMP=(1+APR)^(-(START-1)):LEFT=1/COMP*(PMT*(COMP-1)/APR+AMT)
  7106. 724 IF QUIT=NMP THEN FLG=1:QUIT=NMP-1 ELSE FLG=0
  7107. 726 FOR Z=START TO QUIT
  7108. 728 COMP=(1+APR)^(-Z):BAL=1/COMP*(PMT*(COMP-1)/APR+AMT)
  7109. 730 DISPLAY REC,"            Month # ";Z:PAUSE 1
  7110. 732 INTR=BAL-LEFT+MPYMT:LEFT=BAL:PRINC=MPYMT-INTR
  7111. 734 IMAGE intr=$####.##    Princ=$####.##
  7112. 736 DISPLAY USING 734,INTR,PRINC:PAUSE
  7113. 738 IMAGE >>>>>>BALANCE = $######.##
  7114. 740 DISPLAY USING 738,BAL:PAUSE
  7115. 742 NEXT Z
  7116. 744 IF FLG=0 THEN 754
  7117. 746 DISPLAY REC,"           MONTH # ";NMP:PAUSE 1
  7118. 748 INTR=LSATP-BAL:PRINC=BAL:BAL=0
  7119. 750 PRINT USING 734,INTR,PRINC:PAUSE
  7120. 752 PRINT USING 738,BAL:PAUSE
  7121. 754 INPUT "       RERUN (Y/N): ";K$:IF K$="Y"OR K$="y"THEN 702
  7122. 756 DISPLAY " 1=MENU, 2=EXIT":K$=KEY$
  7123. 758 IF K$="1"THEN 8 ELSE END
  7124.  
  7125.  
  7126. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7127. Content-type: TEXT/plain; CHARSET=US-ASCII; name=FINHLP74.TXT; SizeOnDisk=7545
  7128. Content-description: FINHLP74.TXT
  7129.  
  7130. 1 REM Modified to work with TI74, also works with 16K CC40
  7131. 2 PRINT "    FINANCIAL PLANNING HELPS":PAUSE 3
  7132. 4 PRINT "      by Rob't M Charlson":PAUSE 3
  7133. 6 PRINT "    of DOLLAR DIRECTORS,INC.":PAUSE 3
  7134. 12 DISPLAY " Press Prog #    Any Key= Next":PAUSE 3
  7135. 14 DISPLAY " 1=LUMP SUM inv   2=Monthly Inv":K$=KEY$
  7136. 16 IF K$="1"THEN 100 ELSE IF K$="2"THEN 200 ELSE 18
  7137. 18 DISPLAY " 3=Check-A-Month  4=PV-Pension":K$=KEY$
  7138. 20 IF K$="3"THEN 300 ELSE IF K$="4"THEN 400 ELSE 22
  7139. 22 DISPLAY "  5=A.P.R.%      6=MO-MTG-PMT":K$=KEY$
  7140. 24 IF K$="5"THEN 500 ELSE IF K$="6"THEN 600 ELSE 26
  7141. 26 DISPLAY " 7= Amortize Mortgage Payments":K$=KEY$
  7142. 28 IF K$="7"THEN 700 ELSE 14
  7143. 100 DISPLAY "  LUMP SUM Investment Results:":PAUSE 3
  7144. 105 GOSUB 171:GOSUB 172:GOSUB 173:GOSUB 174
  7145. 110 FV=INV*((1+ROI/100/CPY)^(YRS*CPY)):FV=INT(FV*1+.5)
  7146. 115 DISPLAY "     Future Dollars = $";FV:PAUSE
  7147. 120 DISPLAY " Investment +Time & Earnings =":PAUSE 3
  7148. 125 GAIN=FV-INV:GAIN=INT(GAIN*1+.5)
  7149. 130 DISPLAY "$";INV;" +$";GAIN;"=$";FV:PAUSE
  7150. 135 DISPLAY "  Do you want Changes (Y/N)? ":K$=KEY$! similar to CALL KEY(K,S)
  7151. 140 IF K$="Y"OR K$="y"THEN 145 ELSE IF K$="N"OR K$="n"THEN 155 ELSE 135
  7152. 145 DISPLAY " 1=INV  2=ROI%  3=YRS 4=CPY #":CALL KEY(K,S):IF S=0 THEN 145
  7153. 150 IF K<49 OR K>52 THEN 145 ELSE ON K-48 GOSUB 171,172,173,174:GOTO 110
  7154. 155 DISPLAY " 1=MENU, 2=NEXT PROG, 3=EXIT":K$=KEY$
  7155. 160 IF K$="1"THEN 8 ELSE IF K$="2"THEN 200 ELSE END
  7156. 171 INPUT " Lump Sum Investment = $";INV:RETURN
  7157. 172 INPUT " Est Retn-on-Invstment = % ";ROI:RETURN
  7158. 173 INPUT " Years For Money To Work = ";YRS:RETURN
  7159. 174 INPUT "    Compundings Per Year = ";CPY:RETURN
  7160. 200 DISPLAY "  Regular Periodic Investing:":PAUSE 3
  7161. 205 GOSUB 271:GOSUB 272:GOSUB 273:GOSUB 274
  7162. 210 TOT=PMT*((1+ROI/100/TPY)^(TPY*YRS)-1)/(ROI/100/TPY)*(1+ROI/100/TPY)
  7163. 215 GAIN=TOT-((PMT*TPY)*YRS)
  7164. 220 DISPLAY "Dollars Accumulated =$";INT(TOT*1+.5):PAUSE
  7165. 225 DISPLAY " $ INV PMTS  + $ ROI = $ TOTAL ":PAUSE 2.5
  7166. 230 DISPLAY "$";INT(PMT*TPY)*YRS;" + $";INT(GAIN*1+.5);"= $";INT(TOT*1+.5):PAUSE
  7167. 235 DISPLAY " Do you want Changes (Y/N)? ":CALL KEY(K,S):IF S=0 THEN 235
  7168. 240 IF K=ASC("Y")OR K=ASC("y")THEN 250! 2nd method for CALL KEY(K,S)
  7169. 245 IF K=ASC("N")OR K=ASC("n")THEN 260 ELSE 235
  7170. 250 DISPLAY " 1=PMT, 2=TPY,  3=ROI, 4=YRS #":CALL KEY(K,S):IF S=0 THEN 250
  7171. 255 IF K<49 OR K>52 THEN 240 ELSE ON K-48 GOSUB 271,272,273,274:GOTO 210
  7172. 260 DISPLAY " 1=MENU,  2=NEXT PROG, 3=EXIT":K$=KEY$
  7173. 265 IF K$="1"THEN 8 ELSE IF K$="2"THEN 300 ELSE END
  7174. 271 INPUT " Investing By Mo.Qtr.Yr.=$";PMT:RETURN
  7175. 272 INPUT "     Times Per Year Added x ";TPY:RETURN
  7176. 273 INPUT " Est Retn-On-Investment % ";ROI:RETURN
  7177. 274 INPUT "     Years to Future Goal ? ";YRS:RETURN
  7178. 300 DISPLAY " Check-A-Month Withdrawal Plan":PAUSE 3
  7179. 305 GOSUB 371:GOSUB 372:GOSUB 373
  7180. 310 X=PV*ROI/1200:Y=(1+ROI/1200)^(12*ANN):CKS=X/(1-1/Y)
  7181. 315 DISPLAY ANN;"Yr Annuity CK-A-MO=$";INT(CKS*1+.5):PAUSE
  7182. 320 TOT=((CKS*12)*ANN-PV):DISPLAY " $Invested  + Gain  = $TOT-OUT ":PAUSE 2.5
  7183. 325 DISPLAY "$";PV;"  +";INT(TOT*1+.5);" $";INT((CKS*12)*ANN*1+.5):PAUSE
  7184. 330 DISPLAY "  Do You Want Changes (Y/N)?":CALL KEY(K,S):IF S=0 THEN 330
  7185. 335 IF K=89 OR K=121 THEN 345! 3rd  method for Call Key(K,S)
  7186. 340 IF K=78 OR K=110 THEN 355 ELSE 330
  7187. 345 DISPLAY " 1=INV   2=APR%   3=Life Yrs ":CALL KEY(K,S):IF S=0 THEN 345
  7188. 350 IF K<49 OR K>51 THEN 345 ELSE ON K-48 GOSUB 371,372,373:GOTO 310
  7189. 355 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7190. 360 IF K$="1"THEN 8 ELSE IF K$="2"THEN 400 ELSE END
  7191. 371 INPUT "  Present Inv Worth = $";PV:RETURN
  7192. 372 INPUT "       Est Retn-On-Inv % ";ROI:RETURN
  7193. 373 INPUT " Est Lifetime Annuity Yrs: ";ANN:RETURN
  7194. 400 DISPLAY " Present Value of Your Pension":PAUSE 3
  7195. 405 GOSUB 471:GOSUB 472:GOSUB 473
  7196. 410 PV=PMT*((1-(1+APR)^-YRS)/APR)
  7197. 415 DISPLAY "LUMP SUM To Duplicate=$";INT(PV*1+.5):PAUSE 4.5
  7198. 420 ADD=(PMT*YRS)-PV
  7199. 425 DISPLAY;YRS;"yrs at";100*APR;"% ADDS +$";INT(ADD*1+.5):PAUSE 3
  7200. 430 DISPLAY "PV$";INT(PV*1+.5);"+";INT(ADD*1+.5);"=CKS$";(PMT*YRS):PAUSE
  7201. 435 DISPLAY "  Do You Want Changes (Y/N)?":K$=KEY$
  7202. 440 IF K$="Y"OR K$="y"THEN 445 ELSE IF K$="N"OR K$="n"THEN 455 ELSE 435
  7203. 445 DISPLAY " 1=W-2P   2=Life Yrs  3=APR% #":CALL KEY(K,S):IF S=0 THEN 445
  7204. 450 IF K<49 OR K>51 THEN 445 ELSE ON K-48 GOSUB 471,472,473:GOTO 410
  7205. 455 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7206. 460 IF K$="1"THEN 8 ELSE IF K$="2"THEN 500 ELSE END
  7207. 471 INPUT " W-2 Annual Pension = $ ";PMT:RETURN
  7208. 472 INPUT " I.R.S Life Expectancy Yrs=";YRS:RETURN
  7209. 473 INPUT " Annuitized Interest RAte % ";APR:APR=.01*APR:RETURN
  7210. 500 DISPLAY "  A.P.R. % Retn-on-Investment:":PAUSE 3
  7211. 505 GOSUB 571:GOSUB 572:GOSUB 573
  7212. 510 ROI=((OUT/IN)^(1/YRS))-1
  7213. 515 X=INT(10000*(ROI+.00005)):ROI=X/10000
  7214. 520 DISPLAY "          A.P.R.=";ROI*100;"%":PAUSE
  7215. 525 DISPLAY;IN;"";ROI*100;" %";YRS;"yr $";OUT:PAUSE
  7216. 530 DISPLAY "  Do You Want Changes (Y/N)?":K$=KEY$
  7217. 535 IF K$="Y"OR K$="y"THEN 540 ELSE IF K$="N"OR K$="n"THEN 550 ELSE 530
  7218. 540 DISPLAY "1=$OUT  2=$IN  3=YRS INV ":CALL KEY(K,S):IF S=0 THEN 540
  7219. 545 IF K<49 OR K>51 THEN 540 ELSE ON K-48 GOSUB 571,572,573:GOTO 510
  7220. 550 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7221. 560 IF K$="1"THEN 8 ELSE IF K$="2"THEN 600 ELSE END
  7222. 571 INPUT "      Value If Sold = $";OUT:RETURN
  7223. 572 INPUT " Beginning Investment $ ";IN:RETURN
  7224. 573 INPUT " Number Years Invested ?";YRS:RETURN
  7225. 600 DISPLAY " Monthly MTGE or Loan Payments:":PAUSE 2
  7226. 605 GOSUB 671:GOSUB 672:GOSUB 673
  7227. 610 X1=MTG*IR/1200:X2=(1+IR/1200)^(12*YRS):PMT=X1/(1-1/X2)
  7228. 615 DISPLAY "   Monthly Payment = $";INT(PMT*100+.5)/100:PAUSE
  7229. 620 DISPLAY "    Truth in Lending Totals:":PAUSE 2
  7230. 625 TOT=(PMT*12)*YRS:DISPLAY " Mortgage +Intr Cost =Tot Cost":PAUSE 2
  7231. 630 DISPLAY " $";MTG;" +";INT(TOT-MTG);" =$";INT(TOT+.5):PAUSE
  7232. 635 DISPLAY "  Do You Want Changes (Y/N)?":K$=KEY$
  7233. 640 IF K$="Y"OR K$="y"THEN 645 ELSE IF K$="N"OR K$="n"THEN 655 ELSE 635
  7234. 645 DISPLAY "Change: 1=MTG  2=INT%  3=YRS #":CALL KEY(K,S):IF S=0 THEN 645
  7235. 650 IF K<49 OR K>51 THEN 645 ELSE ON K-48 GOSUB 671,672,673:GOTO 610
  7236. 655 DISPLAY " 1=Menu, 2=NEXT PROG, 3=Exit":K$=KEY$
  7237. 660 IF K$="1"THEN 8 ELSE IF K$="2"THEN 700 ELSE END
  7238. 671 INPUT "Price-Dn Pmt= Mortgage $";MTG:RETURN
  7239. 672 INPUT "       Interest Rate % = ";IR:RETURN
  7240. 673 INPUT "      Years To Pay-Off = ";YRS:RETURN
  7241. 700 DISPLAY "    Amortization Schedule:":PAUSE 3
  7242. 702 INPUT "       Loan Amount $";AMT," Number Monthly Payments # ";NMP
  7243. 704 INPUT " Annual Interest Rate %? ";APR
  7244. 706 APR=APR/1200
  7245. 708 PMT=AMT*(APR/(1-(1+APR)^(-NMP)))
  7246. 710 TOT=INT(PMT*NMP*100)/100
  7247. 712 MPYMT=INT(PMT*100)/100
  7248. 714 LASTP=TOT-MPYMT*(NMP-1)
  7249. 716 DISPLAY USING"   Monthly Payment= $####.##";MPYMT:PAUSE
  7250. 718 DISPLAY USING"   Last Mo. Payment= $####.##";LASTP:PAUSE
  7251. 720 INPUT "Show Schedule From Month # ";START,"            to Month # ";QUIT
  7252. 722 COMP=(1+APR)^(-(START-1)):LEFT=1/COMP*(PMT*(COMP-1)/APR+AMT)
  7253. 724 IF QUIT=NMP THEN FLG=1:QUIT=NMP-1 ELSE FLG=0
  7254. 726 FOR Z=START TO QUIT
  7255. 728 COMP=(1+APR)^(-Z):BAL=1/COMP*(PMT*(COMP-1)/APR+AMT)
  7256. 730 DISPLAY REC,"            Month # ";Z:PAUSE 1
  7257. 732 INTR=BAL-LEFT+MPYMT:LEFT=BAL:PRINC=MPYMT-INTR
  7258. 734 IMAGE intr=$####.##    Princ=$####.##
  7259. 736 DISPLAY USING 734,INTR,PRINC:PAUSE
  7260. 738 IMAGE >>>>>>BALANCE = $######.##
  7261. 740 DISPLAY USING 738,BAL:PAUSE
  7262. 742 NEXT Z
  7263. 744 IF FLG=0 THEN 754
  7264. 746 DISPLAY "           MONTH # ";NMP:PAUSE 1
  7265. 748 INTR=LSATP-BAL:PRINC=BAL:BAL=0
  7266. 750 PRINT USING 734,INTR,PRINC:PAUSE
  7267. 752 PRINT USING 738,BAL:PAUSE
  7268. 754 INPUT "       RERUN (Y/N): ";K$:IF K$="Y"OR K$="y"THEN 702
  7269. 756 DISPLAY " 1=MENU, 2=EXIT":K$=KEY$
  7270. 758 IF K$="1"THEN 8 ELSE END
  7271.  
  7272.  
  7273. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7274. Content-type: TEXT/plain; CHARSET=US-ASCII; name=HEADLINE.TXT; SizeOnDisk=1496
  7275. Content-description: HEADLINE.TXT
  7276.  
  7277. 90 REM prints milti colored banners on printer/plotter
  7278. 100 OPEN #1,"10",OUTPUT
  7279. 110 INPUT "Enter top line:";L1$
  7280. 120 INPUT "Enter bottom line (OPTIONAL):";L2$
  7281. 121 IF L2$=""THEN NL=1
  7282. 122 IF L1$=""THEN NL=0 ELSE 130
  7283. 123 PRINT "YOU GOTTA ENTNUMBER THING!!!":PAUSE 4:GOTO 110
  7284. 130 INPUT "What color(0 for colors):";CO$
  7285. 140 IF CO$="0"THEN 170
  7286. 150 IF CO$="1"THEN 160
  7287. 151 IF CO$="2"THEN 161
  7288. 152 IF CO$="3"THEN 162
  7289. 153 IF CO$="4"THEN 163
  7290. 154 PRINT "COLORS ARE 1-4":PAUSE 4:GOTO 130
  7291. 160 CO=1:GOTO 180
  7292. 161 CO=2:GOTO 180
  7293. 162 CO=3:GOTO 180
  7294. 163 CO=4:GOTO 180
  7295. 164 PRINT "COLORS=1-4":PAUSE 4:GOTO 130
  7296. 170 PRINT "1=BLACK,2=BLUE,3=GREEN,4=RED":PAUSE 5:GOTO 130
  7297. 180 PRINT #1,CHR$(19)
  7298. 190 PRINT #1,"C"&CO$
  7299. 200 PRINT #1,"A1"
  7300. 210 PRINT #1,"H"
  7301. 215 IF NL=1 THEN PRINT #1,"M(75,0)":GOTO 230
  7302. 220 PRINT #1,"M(135,0)"
  7303. 230 PRINT #1,"S9"
  7304. 240 PRINT "Plotting... one moment please."
  7305. 250 T$=L1$
  7306. 260 GOSUB 410
  7307. 265 IF NL=1 THEN PRINT #1,"H":GOTO 340
  7308. 270 FOR X=1 TO LEN(L1$)
  7309. 280 PRINT #1,"J(0,55)"
  7310. 290 NEXT X
  7311. 300 PRINT #1,"J(-110,0)"
  7312. 310 PRINT #1,"O"
  7313. 320 T$=L2$
  7314. 330 GOSUB 410
  7315. 340 NL=0:INPUT "ANOTHER(Y/N):";Y$
  7316. 350 IF Y$="Y"THEN 390
  7317. 360 IF Y$="N"THEN END
  7318. 370 PRINT "(Y) OR (N) ":PAUSE
  7319. 380 GOTO 340
  7320. 390 CLOSE #1
  7321. 400 GOTO 100
  7322. 410 FOR C=1 TO LEN(T$)
  7323. 420 PRINT #1,"O"
  7324. 430 FOR X=1 TO 5
  7325. 440 PRINT #1,"M(1,1)"
  7326. 450 PRINT #1,"O"
  7327. 460 PRINT #1,"T("&SEG$(T$,C,1)&")"
  7328. 470 NEXT X
  7329. 480 PRINT #1,"J(-5,0)"
  7330. 490 NEXT C
  7331. 500 RETURN
  7332.  
  7333.  
  7334. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7335. Content-type: TEXT/plain; CHARSET=US-ASCII; name=HILO.TXT; SizeOnDisk=1172
  7336. Content-description: HILO.TXT
  7337.  
  7338. 12000 CALL CHAR(1,"040404041F1F0E04")
  7339. 12010 CALL CHAR(2,"040E1F1F04040404")
  7340. 12020 DISPLAY BEEP,"GUESS A NUMBER BETWEEN 1 AND 25":PAUSE 1.5
  7341. 12030 DISPLAY BEEP,"YOU HAVE 6 CHANCES":PAUSE 1
  7342. 12040 DISPLAY BEEP,"INDICATORS RECORD YOUR GUESSES":PAUSE 1
  7343. 12050 COUNT=1
  7344. 12060 RANDOMIZE
  7345. 12070 SNUM=INTRND(25)
  7346. 12080 PRINT "ENTER YOUR GUESS";
  7347. 12090 ACCEPT AT(28)VALIDATE(DIGIT),GUESS
  7348. 12100 IF GUESS=SNUM THEN 12180
  7349. 12110 CALL INDIC(COUNT)
  7350. 12120 IF COUNT=6 THEN 12260
  7351. 12130 IF GUESS<SNUM THEN 12160
  7352. 12140 PRINT CHR$(1);GUESS;"Try a smaller number";
  7353. 12150 COUNT=COUNT+1:GOTO 12090
  7354. 12160 PRINT CHR$(2);GUESS;"Try a larger number";
  7355. 12170 COUNT=COUNT+1:GOTO 12090
  7356. 12180 PRINT "WOW!!***";GUESS;"***is correct":PAUSE 2
  7357. 12190 FOR A=1 TO 0 STEP-1:X=1
  7358. 12200 FOR B=1 TO 6
  7359. 12210 CALL INDIC(B,A):PAUSE .1
  7360. 12220 DISPLAY AT(X)BEEP,"YEA!":X=X+5
  7361. 12230 NEXT B
  7362. 12240 NEXT A
  7363. 12250 GOTO 12320
  7364. 12260 PRINT "6 Chances!";SNUM;"was the number":PAUSE 4
  7365. 12270 FOR A=1 TO 30 STEP 10
  7366. 12280 DISPLAY AT(A) BEEP,"BOO!":PAUSE .2:NEXT A
  7367. 12290 FOR J=1 TO COUNT
  7368. 12300 CALL INDIC(J,0)
  7369. 12310 NEXT J
  7370. 12320 LINPUT "Play again (Y/N): ";A$
  7371. 12330 IF A$="Y" OR A$="y" THEN 12050
  7372. 12340 RETURN
  7373.  
  7374. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7375. Content-type: TEXT/plain; CHARSET=US-ASCII; name=INVENTOR.TXT; SizeOnDisk=2576
  7376. Content-description: INVENTOR.TXT
  7377.  
  7378. 10 DIM X$(100),Y(100),Y$(100)
  7379. 20 CO,B=0
  7380. 21 GOTO 160
  7381. 30 INPUT "Load INV.FILE(Y/N)?:";YN$:IF YN$="N"THEN CALL POKE(20480,0):GOTO 160
  7382. 40 INPUT "LOAD>(W)afer(M)emory?:";ANS$
  7383. 50 IF ANS$="W"THEN 590
  7384. 60 IF ANS$="M"THEN 70 ELSE GOTO 40
  7385. 70 CALL PEEK(20480,A):IF A=0 THEN Q$="Nothing in memory.":PAUSE 2:GOTO 150
  7386. 80 FOR CNT=1 TO A:FOR CNTT=1 TO 15
  7387. 90 CALL PEEK(CNT*15+(CNTT+20479),T):X$(CNT)=X$(CNT)&CHR$(T):PRINT X$(CNT)
  7388. 100 NEXT CNTT:FOR CNTT=1 TO 10
  7389. 110 CALL PEEK(CNT*10+(CNTT+21984),T):Y$(CNT)=Y$(CNT)&CHR$(T)
  7390. 120 PRINT X$(CNT);Y$(CNT)
  7391. 130 NEXT CNTT:PRINT X$(CNT);Y$(CNT):NEXT CNT
  7392. 140 FOR CNT=1 TO A:Y(CNT)=VAL(Y$(CNT)):NEXT CNT:CO=A:Q$="Finished loading!"
  7393. 150 PRINT Q$:PAUSE 2
  7394. 160 INPUT "(A)dd(P)rint(L)oad(S)ave:";ANS$
  7395. 161 IF ANS$="L"THEN 30
  7396. 170 IF ANS$="A"THEN 220
  7397. 180 IF ANS$="S"THEN 350
  7398. 190 IF ANS$="P"THEN 520
  7399. 200 IF ANS$="SCAN"THEN 10000
  7400. 210 GOTO 160
  7401. 220 LINPUT "ITEM>";ITEM$
  7402. 230 IF ITEM$="Q"THEN 160
  7403. 240 A=LEN(ITEM$):IF A>15 THEN PRINT "15 or less charactors!":PAUSE 2:GOTO 220
  7404. 250 A=LEN(ITEM$):IF A<15 THEN ITEM$=ITEM$&RPT$(" ",15-A)
  7405. 260 INPUT "PRICE>";ITPRC
  7406. 270 CO=CO+1
  7407. 280 X$(CO)=ITEM$:Y(CO)=ITPRC
  7408. 290 PRINT X$(CO);Y(CO);"CORRECT?"
  7409. 300 CALL KEY(K,S):IF S=0 THEN 300
  7410. 310 YN$=CHR$(K)
  7411. 320 IF YN$="Y"THEN 220
  7412. 330 IF YN$="N"THEN CO=CO-1:GOTO 220
  7413. 340 PRINT "(Y)es or (N)o!":PAUSE 2:GOTO 290
  7414. 350 INPUT "SAVE>(W)afer(M)emory(B)oth";ANS$
  7415. 360 IF ANS$="W"THEN 400
  7416. 370 IF ANS$="M"THEN 440
  7417. 380 IF ANS$="B"THEN B=2:GOTO 400
  7418. 390 GOTO 350
  7419. 400 INPUT "Wafer 1-10?:";W$:PRINT "SAVING TO WAFER #";W$
  7420. 410 OPEN #1,W$&".DATAFILE",INTERNAL,OUTPUT
  7421. 420 FOR CNT=1 TO CO:PRINT #1,X$(CNT),Y(CNT):NEXT CNT:CLOSE #1
  7422. 430 IF B=0 THEN 160:B=0
  7423. 440 PRINT "SAVING TO MEMORY"
  7424. 450 CALL PEEK(20480,FLAG):ADR=15*FLAG+20495:ADT=10*FLAG+21995
  7425. 460 FOR CNT=FLAG+1 TO CO
  7426. 470 FOR DE=1 TO 15:CALL POKE(ADR,ASC(SEG$(X$(CNT),DE,1))):ADR=ADR+1
  7427. 480 NEXT DE:B$=STR$(ABS(Y(CNT))):A=LEN(B$)
  7428. 490 IF A<10 THEN B$=B$&RPT$(" ",10-A):A=10:FOR DE=1 TO 10
  7429. 500 NU$=SEG$(B$,DE,1):CALL POKE(ADT,ASC(NU$)):ADT=ADT+1
  7430. 510 NEXT DE:NEXT CNT:CALL POKE(20480,CO)
  7431. 520 PRINT "Printing....":OPEN #1,"10.S=0",OUTPUT
  7432. 530 FOR CNT=1 TO CO:PRINT #1,X$(CNT);Y(CNT):NEXT CNT
  7433. 540 CLOSE #1:GOTO 160
  7434. 550 OPEN #1,"10.S=0",OUTPUT
  7435. 560 CALL PEEK(20480,DE):FOR CNT=20480 TO 20494+(DE*15):CALL PEEK(CNT,K)
  7436. 570 PRINT #1,CHR$(3);CNT,K,CHR$(K):NEXT CNT
  7437. 580 CLOSE #1:GOTO 160
  7438. 590 INPUT "Wafer 1-10?:";W$:PRINT "Loading from Wafer #";W$
  7439. 600 OPEN #2,W$&".DATAFILE",INTERNAL,INPUT:CT=1
  7440. 610 IF EOF(2)=-1 THEN 630 ELSE INPUT #2,X$(CT),Y(CT)
  7441. 620 CT=CT+1:GOTO 610
  7442. 630 CO=CT-1:CALL POKE(20480,CT-1):GOTO 160
  7443.  
  7444. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7445. Content-type: TEXT/plain; CHARSET=US-ASCII; name=JUMPJACK.TXT; SizeOnDisk=247
  7446. Content-description: JUMPJACK.TXT
  7447.  
  7448. 100 CALL CHAR(0,"0E0E150E04040A11"):CALL CHAR(1,"0E0E040E15040404")
  7449. 110 FOR I=1 TO 31:FOR J=0 TO 1:DISPLAY AT(I),CHR$(J):PAUSE .3
  7450. 120 NEXT J:NEXT I
  7451. 130 FOR K=31 TO 1 STEP -1:FOR L=0 TO 1:DISPLAY AT(K),CHE$(L)
  7452. 140 NEXT L:NEXT K
  7453. 150 GOTO 110
  7454.  
  7455. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7456. Content-type: TEXT/plain; CHARSET=US-ASCII; name=MULTIPRG.TXT; SizeOnDisk=14908
  7457. Content-description: MULTIPRG.TXT
  7458.  
  7459. 1 REM Multiple programs from the same menu for an 18K CC40
  7460. 5 REM RESISTOR COLOR CODE, Weight Estimator, Hi-Lo game
  7461. 10 DIM PROMPT$(10)
  7462. 20 FOR P=1 TO 10:READ PROMPT$(P):NEXT
  7463. 30 LINPUT "Weight Estimator (Y/N): ";A$
  7464. 40 IF A$="Y" OR A$="y" THEN GOSUB 140
  7465. 50 LINPUT "Color Code (Y/N): ";A$
  7466. 60 IF A$="Y" OR A$="y" THEN GOSUB 1840
  7467. 70 LINPUT "Want to Play HI-LOW game (Y/N): ";A$
  7468. 80 IF A$="Y" OR A$="y" THEN GOSUB 2450
  7469. 90 LINPUT "EXIT (Y/N):";A$
  7470. 100 IF A$="Y" OR A$="y" THEN END
  7471. 110 GOTO 30
  7472. 120 DATA 8,ABS,203,APPEND,249,ASC,220,ATN,204,AT,240,AND,187,ALL,236,ACCEPT,164,
  7473. 3,BASE,241,BREAK,142,BEEP,238
  7474. 130 S$=RPT$(" ",80):: GOTO 230 :: A$,B$,P$,A,B,C,E,I,L,M,P,X,Y,Z :: !@P-
  7475. 140 REM DIM PROMPT$(10)
  7476. 150 REM FOR P=1 TO 10:READ PROMPT$(P):NEXT
  7477. 160 DATA INPUT,146,INT,207,INTERNAL,245,0,0,4,LEN,213,LET,141,LOG,208,LINPUT,170
  7478. ,2,MAX,223,MIN,224,3,NEXT,150
  7479. 170 F1=0:F2=0:F3=0:F4=0:F5=0:F6=0:F7=0
  7480. 180 DATA PI,221,0,9,RND,215,READ,151,RETURN,136,RESTORE,148,RANDOMIZE,149,REC,22
  7481. 2,RELATIVE,244,RPT$,225,RUN,169
  7482. 190 PRINT "Welcome to the weight estimator":PAUSE 3
  7483. 200 LINPUT "Enter (M)ale or (F)emale: ";SEX$
  7484. 210 IF SEX$="M" OR SEX$="m" THEN F1=1:GOTO 240
  7485. 220 IF SEX$="F" OR SEX$="f" THEN F2=1:GOTO 240
  7486. 230 DISPLAY AT(9)BEEP,"INVALID INPUT":PAUSE 1:GOTO 200
  7487. 240 REM PRINT "Enter height in (feet.inches)":PAUSE 3
  7488. 250 INPUT "Enter height in # of feet: ";HEIGHT
  7489. 260 INPUT "Enter # of inches: ";I
  7490. 270 H=HEIGHT*12+I
  7491. 280 ON ERROR 280 :: ACCEPT AT(6,2):A$ :: OPEN #2:A$,VARIABLE 163
  7492. 290 DISPLAY AT(8,2):"enter 1 for basic":" enter 2 for extended basic":"   --->2"
  7493. 300 ON ERROR 1030 :: ACCEPT AT(10,8)SIZE(-1)VALIDATE("12"):A$ :: IF A$="2" THEN
  7494. E=1 :: GOTO 350 ELSE IF A$="" THEN 290
  7495. 310 LINPUT "Enter FRAME type (S/M/L): ";F$
  7496. 320 IF F$="S" OR F$="s" THEN F3=1:GOTO 390
  7497. 330 IF F$="M" OR F$="m" THEN F4=1:GOTO 390
  7498. 340 IF F$="L" OR F$="l" THEN F5=1:GOTO 390
  7499. 350 GOTO 310
  7500. 360 DISPLAY AT(18,1):"B. Lines regularly sequenced" :: ACCEPT AT(12,26)VALIDATE(
  7501. "AB")SIZE(-1):A$
  7502. 370 IF A$="" THEN 360 ELSE IF A$="A" THEN 400 ELSE DISPLAY AT(19,4):"Enter line
  7503. increment:0010"
  7504. 380 ACCEPT AT(19,25)VALIDATE(DIGIT)SIZE(-4):I :: IF I=0 THEN 380
  7505. 390 INPUT "Enter Your Weight: ";WEIGHT
  7506. 400 IF I=0 THEN 430 ELSE IF EOF(1)THEN I=0 :: A$=P$ :: GOTO 460 ELSE LINPUT #1:B
  7507. $ :: IF B$="" OR B$=" " THEN 400
  7508. 410 IF SEG$(B$,1,LEN(STR$(L+I))+1)=(STR$(L+I)&" ")THEN A$=P$ :: P$=B$ :: L=L+I :
  7509. : GOTO 460
  7510. 420 P$=SEG$(P$&S$,1,INT((LEN(P$)-1)/80+1)*80)&B$ :: IF LEN(P$)=255 THEN DISPLAY
  7511. AT(24,1):"* error - line is too long" :: GOTO 400 ELSE 400
  7512. 430 IF EOF(1)THEN PRINT #2:CHR$(255);CHR$(255):: CLOSE #1 :: CLOSE #2 :: STOP EL
  7513. SE A$=""
  7514. 440 IF F1 AND H>=62 AND H<63 AND F3 THEN W$="128-134":MIN=128:MAX=134
  7515. 450 IF F1 AND H>=62 AND H<63 AND F4 THEN W$="131-141":MIN=131:MAX=141
  7516. 460 IF F1 AND H>=62 AND H<63 AND F5 THEN W$="138-150":MIN=128:MAX=134
  7517. 470 IF F1 AND H>=63 AND H<64 AND F3 THEN W$="130-136":MIN=130:MAX=136
  7518. 480 IF F1 AND H>=63 AND H<64 AND F4 THEN W$="133-143":MIN=133:MAX=143
  7519. 490 IF F1 AND H>=63 AND H<64 AND F5 THEN W$="140-153":MIN=140:MAX=153
  7520. 500 IF F1 AND H>=64 AND H<65 AND F3 THEN W$="132-138":MIN=132:MAX=138
  7521. 510 IF F1 AND H>=64 AND H<65 AND F4 THEN W$="135-145":MIN=135:MAX=145
  7522. 520 IF F1 AND H>=64 AND H<65 AND F5 THEN W$="142-156":MIN=142:MAX=156
  7523. 530 IF F1 AND H>=65 AND H<66 AND F3 THEN W$="134-140":MIN=134:MAX=140
  7524. 540 IF F1 AND H>=65 AND H<66 AND F4 THEN W$="137-148":MIN=137:MAX=148
  7525. 550 IF F1 AND H>=65 AND H<66 AND F5 THEN W$="144-160":MIN=144:MAX=160
  7526. 560 IF F1 AND H>=66 AND H<67 AND F3 THEN W$="136-142":MIN=136:MAX=142
  7527. 570 IF F1 AND H>=66 AND H<67 AND F4 THEN W$="139-151":MIN=139:MAX=151
  7528. 580 IF F1 AND H>=66 AND H<67 AND F5 THEN W$="146-164":MIN=146:MAX=164
  7529. 590 IF F1 AND H>=67 AND H<68 AND F3 THEN W$="138-145":MIN=138:MAX=145
  7530. 600 IF F1 AND H>=67 AND H<68 AND F4 THEN W$="145-157":MIN=145:MAX=157
  7531. 610 IF F1 AND H>=67 AND H<68 AND F5 THEN W$="152-172":MIN=152:MAX=172
  7532. 620 IF F1 AND H>=68 AND H<69 AND F3 THEN W$="140-148":MIN=140:MAX=148
  7533. 630 IF F1 AND H>=68 AND H<69 AND F4 THEN W$="145-157":MIN=145:MAX=157
  7534. 640 IF F1 AND H>=68 AND H<69 AND F5 THEN W$="152-172":MIN=152:MAX=172
  7535. 650 IF F1 AND H>=69 AND H<70 AND F3 THEN W$="142-151":MIN=142:MAX=151
  7536. 660 IF B AND C=0 AND B<>132 AND B<>222 AND B<>241 AND B<>149 AND B<>155 AND B<>1
  7537. 56 AND B<>162 THEN PRINT #2:CHR$(201);:: GOSUB 960 :: GOTO 480
  7538. 670 IF F1 AND H>=69 AND H<70 AND F4 THEN W$="148-160":MIN=148:MAX=160
  7539. 680 IF F1 AND H>=69 AND H<70 AND F5 THEN W$="155-176":MIN=155:MAX=176
  7540. 690 IF F1 AND H>=70 AND H<71 AND F3 THEN W$="144-154":MIN=144:MAX=154
  7541. 700 IF F1 AND H>=70 AND H<71 AND F4 THEN W$="151-163":MIN=151:MAX=163
  7542. 710 IF F1 AND H>=70 AND H<71 AND F5 THEN W$="158-180":MIN=158:MAX=180
  7543. 720 IF F1 AND H>=71 AND H<72 AND F3 THEN W$="146-157":MIN=146:MAX=157
  7544. 730 IF F1 AND H>=71 AND H<72 AND F4 THEN W$="154-166":MIN=154:MAX=166
  7545. 740 IF F1 AND H>=71 AND H<72 AND F5 THEN W$="161-184":MIN=161:MAX=184
  7546. 750 IF F1 AND H>=72 AND H<73 AND F3 THEN W$="149-160":MIN=149:MAX=160
  7547. 760 IF F1 AND H>=72 AND H<73 AND F4 THEN W$="157-170":MIN=157:MAX=170
  7548. 770 IF F1 AND H>=72 AND H<73 AND F5 THEN W$="164-188":MIN=164:MAX=188
  7549. 780 IF F1 AND H>=73 AND H<74 AND F3 THEN W$="152-164":MIN=152:MAX=164
  7550. 790 IF F1 AND H>=73 AND H<74 AND F4 THEN W$="160-174":MIN=160:MAX=174
  7551. 800 IF F1 AND H>=73 AND H<74 AND F5 THEN W$="168-192":MIN=168:MAX=192
  7552. 810 IF F1 AND H>=74 AND H<75 AND F3 THEN W$="155-168":MIN=155:MAX=168
  7553. 820 IF F1 AND H>=74 AND H<75 AND F4 THEN W$="164-178":MIN=164:MAX=178
  7554. 830 IF F1 AND H>=74 AND H<75 AND F5 THEN W$="172-197":MIN=172:MAX=197
  7555. 840 IF F1 AND H>=75 AND H<76 AND F3 THEN W$="158-172":MIN=158:MAX=172
  7556. 850 IF F1 AND H>=75 AND H<76 AND F4 THEN W$="167-182":MIN=167:MAX=182
  7557. 860 PRINT #2:CHR$(200)&CHR$(A-Z+1)&SEG$(A$,Z,A-Z+1)&CHR$(0):: GOTO 400
  7558. 870 IF F1 AND H>=75 AND H<76 AND F5 THEN W$="176-202":MIN=176:MAX=202
  7559. 880 IF F1 AND H>=76 AND H<77 AND F3 THEN W$="162-176":MIN=162:MAX=176
  7560. 890 IF F1 AND H>=76 AND H<77 AND F4 THEN W$="171-187":MIN=171:MAX=187
  7561. 900 IF F1 AND H>=76 AND H<77 AND F5 THEN W$="181-207":MIN=181:MAX=207
  7562. 910 IF P>A THEN PRINT #2:CHR$(0):: GOTO 400 ELSE X=ASC(SEG$(A$,P,1)):: IF X=32 T
  7563. HEN P=P+1 :: GOTO 910
  7564. 920 IF X=44 THEN PRINT #2:CHR$(179);:: P=P+1 :: GOTO 910
  7565. 930 IF X=34 THEN B$="" :: Z=P :: GOSUB 970 :: P=Z+1 :: GOTO 910
  7566. 940 Z=POS(A$,",",P+1):: IF Z=0 THEN PRINT #2:CHR$(200);CHR$(A-P+1);SEG$(A$,P,A-P
  7567. +1);CHR$(0):: GOTO 400
  7568. 950 IF SEG$(A$,Z-1,1)=" " THEN Z=Z-1 :: GOTO 950 ELSE PRINT #2:CHR$(200);CHR$(Z-
  7569. P);SEG$(A$,P,Z-P);:: P=Z :: GOTO 910
  7570. 960 X=VAL(B$):: PRINT #2:CHR$(INT(X/256))&CHR$(X-256*INT(X/256));:: RETURN
  7571. 970 IF F2 AND H>=58 AND H<59 AND F3 THEN W$="102-111":MIN=102:MAX=111
  7572. 980 IF F2 AND H>=58 AND H<59 AND F4 THEN W$="109-121":MIN=109:MAX=121
  7573. 990 IF F2 AND H>=58 AND H<59 AND F5 THEN W$="118-131":MIN=118:MAX=131
  7574. 1000 IF F2 AND H>=59 AND H<60 AND F3 THEN W$="103-113":MIN=103:MAX=113
  7575. 1010 IF F2 AND H>=59 AND H<60 AND F4 THEN W$="111-123":MIN=111:MAX=123
  7576. 1020 IF F2 AND H>=59 AND H<60 AND F5 THEN W$="120-134":MIN=120:MAX=134
  7577. 1030 IF F2 AND H>=60 AND H<61 AND F3 THEN W$="104-115":MIN=104:MAX=115
  7578. 1040 IF F2 AND H>=60 AND H<61 AND F4 THEN W$="113-126":MIN=113:MAX=126
  7579. 1050 IF F2 AND H>=60 AND H<61 AND F5 THEN W$="122-137":MIN=122:MAX=137
  7580. 1060 IF F2 AND H>=61 AND H<62 AND F3 THEN W$="106-118":MIN=106:MAX=118
  7581. 1070 IF F2 AND H>=61 AND H<62 AND F4 THEN W$="115-129":MIN=115:MAX=129
  7582. 1080 IF F2 AND H>=61 AND H<62 AND F5 THEN W$="125-140":MIN=125:MAX=140
  7583. 1090 IF F2 AND H>=62 AND H<63 AND F3 THEN W$="108-121":MIN=108:MAX=121
  7584. 1100 IF F2 AND H>=62 AND H<63 AND F4 THEN W$="118-132":MIN=118:MAX=132
  7585. 1110 IF F2 AND H>=62 AND H<63 AND F5 THEN W$="128-143":MIN=128:MAX=143
  7586. 1120 IF F2 AND H>=63 AND H<64 AND F3 THEN W$="111-121":MIN=111:MAX=121
  7587. 1130 IF F2 AND H>=63 AND H<64 AND F4 THEN W$="121-135":MIN=121:MAX=135
  7588. 1140 IF F2 AND H>=63 AND H<64 AND F5 THEN W$="131-147":MIN=131:MAX=147
  7589. 1150 IF F2 AND H>=64 AND H<65 AND F3 THEN W$="114-127":MIN=114:MAX=127
  7590. 1160 IF F2 AND H>=64 AND H<65 AND F4 THEN W$="124-138":MIN=124:MAX=138
  7591. 1170 IF F2 AND H>=64 AND H<65 AND F5 THEN W$="134-151":MIN=134:MAX=151
  7592. 1180 IF F2 AND H>=65 AND H<66 AND F3 THEN W$="117-130":MIN=117:MAX=130
  7593. 1190 IF F2 AND H>=65 AND H<66 AND F4 THEN W$="127-141":MIN=127:MAX=141
  7594. 1200 IF F2 AND H>=65 AND H<66 AND F5 THEN W$="137-155":MIN=137:MAX=155
  7595. 1210 IF F2 AND H>=66 AND H<67 AND F3 THEN W$="120-133":MIN=120:MAX=133
  7596. 1220 IF F2 AND H>=66 AND H<67 AND F4 THEN W$="130-144":MIN=130:MAX=144
  7597. 1230 IF F2 AND H>=66 AND H<67 AND F5 THEN W$="140-159":MIN=140:MAX=159
  7598. 1240 IF F2 AND H>=67 AND H<68 AND F3 THEN W$="123-136":MIN=123:MAX=136
  7599. 1250 IF F2 AND H>=67 AND H<68 AND F4 THEN W$="133-147":MIN=133:MAX=147
  7600. 1260 IF F2 AND H>=67 AND H<68 AND F5 THEN W$="143-163":MIN=143:MAX=163
  7601. 1270 IF F2 AND H>=68 AND H<69 AND F3 THEN W$="126-139":MIN=126:MAX=139
  7602. 1280 IF F2 AND H>=68 AND H<69 AND F4 THEN W$="136-150":MIN=136:MAX=150
  7603. 1290 IF F2 AND H>=68 AND H<69 AND F5 THEN W$="146-167":MIN=146:MAX=167
  7604. 1300 IF F2 AND H>=69 AND H<70 AND F3 THEN W$="129-142":MIN=129:MAX=142
  7605. 1310 IF F2 AND H>=69 AND H<70 AND F4 THEN W$="139-153":MIN=139:MAX=153
  7606. 1320 IF F2 AND H>=69 AND H<70 AND F5 THEN W$="149-170":MIN=149 MAX=170
  7607. 1330 IF F2 AND H>=70 AND H<71 AND F3 THEN W$="132-145":MIN=132:MAX=145
  7608. 1340 IF F2 AND H>=70 AND H<71 AND F4 THEN W$="142-156":MIN=142:MAX=156
  7609. 1350 IF F2 AND H>=70 AND H<71 AND F5 THEN W$="152-173":MIN=152:MAX=173
  7610. 1360 IF F2 AND H>=71 AND H<72 AND F3 THEN W$="135-148":MIN=135:MAX=148
  7611. 1370 IF F2 AND H>=71 AND H<72 AND F4 THEN W$="145-159":MIN=145:MAX=159
  7612. 1380 IF F2 AND H>=71 AND H<72 AND F5 THEN W$="155-176":MIN=155:MAX=176
  7613. 1390 IF F2 AND H>=72 AND H<73 AND F3 THEN W$="138-151":MIN=138:MAX=151
  7614. 1400 IF F2 AND H>=72 AND H<73 AND F4 THEN W$="148-162":MIN=148:MAX=162
  7615. 1410 IF F2 AND H>=72 AND H<73 AND F5 THEN W$="158-179":MIN=158:MAX=179
  7616. 1420 IF F1 AND(H<62 OR H>76)THEN W$="NOT LISTED":P$=W$:GOTO 1520
  7617. 1430 IF F2 AND(H<58 OR H>72)THEN W$="NOT LISTED":P$=W$:GOTO 1520
  7618. 1440 IF MIN>WEIGHT THEN UNDER=WEIGHT-MIN
  7619. 1450 IF MAX<WEIGHT THEN OVER=WEIGHT-MAX
  7620. 1460 OVER=WEIGHT-MAX
  7621. 1470 IF OVER>25 THEN GOSUB 1570
  7622. 1480 IF F1 THEN P$="What Are You, a FAG ?"
  7623. 1490 IF F2 THEN P$="You  Lying Dog"
  7624. 1500 IF UNDER<-1 THEN UNDER=ABS(UNDER):GOSUB 1600
  7625. 1510 IF OVER>=1 THEN GOSUB 1670
  7626. 1520 PRINT P$:PAUSE 5:DISPLAY BEEP BEEP BEEP BEEP
  7627. 1530 PRINT " You should weigh: ";W$:PAUSE 10
  7628. 1540 LINPUT "ANOTHER ESTIMATE? (Y/N): ";ANS$
  7629. 1550 IF ANS$="Y" OR ANS$="y" THEN 200
  7630. 1560 RETURN
  7631. 1570 B=1:FOR V=1 TO 6:PAUSE .2
  7632. 1580 DISPLAY AT(B)BEEP," FAT! ":B=B+5
  7633. 1590 NEXT V:RETURN
  7634. 1600 IF UNDER<=5 THEN P$=PROMPT$(1)
  7635. 1610 IF UNDER>5 AND UNDER<=10 THEN P$=PROMPT$(2)
  7636. 1620 IF UNDER>10 AND UNDER<=15 THEN P$=PROMPT$(3)
  7637. 1630 IF UNDER>15 AND UNDER<=25 THEN P$=PROMPT$(4)
  7638. 1640 IF UNDER>15 AND UNDER>25 THEN P$=PROMPT$(5)
  7639. 1650 DISPLAY BEEP BEEP
  7640. 1660 RETURN
  7641. 1670 IF ABS(OVER)>=1 THEN P$=PROMPT$(6):DISPLAY
  7642. 1680 IF OVER>5 AND OVER<=10 THEN P$=PROMPT$(7)
  7643. 1690 IF OVER>10 AND OVER<=15 THEN P$=PROMPT$(8)
  7644. 1700 IF OVER>15 AND OVER<=25 THEN P$=PROMPT$(9)
  7645. 1710 IF OVER>25 THEN P$=PROMPT$(10)
  7646. 1720 DISPLAY BEEP BEEP
  7647. 1730 RETURN
  7648. 1740 REM nEXT V:RETURN
  7649. 1750 DATA "Take some vitamins","Hit the nearest Tom Thumb"
  7650. 1760 DATA "OK; Olive Oil (Where's Popeye)"
  7651. 1770 DATA "Better see a doctor - Skeleton"
  7652. 1780 DATA "Don't stand SIDEWAYS Stick"
  7653. 1790 DATA "Watch them Doughnuts","Better start a diet"
  7654. 1800 DATA "OK Porky; you know your fat"
  7655. 1810 DATA "Better see a doctor; FATSO"
  7656. 1820 DATA "How did you fit thru the Door?"
  7657. 1830 REM END OF WEIGHT ESTIMATOR
  7658. 1840 PRINT "Enter Resistor Colors":PAUSE 1
  7659. 1850 REM
  7660. 1860 LINPUT "First band color? ";I$:GOSUB 2210
  7661. 1870 IF F=0 THEN 1860
  7662. 1880 C1$=I$
  7663. 1890 LINPUT "Second band color? ";I$:GOSUB 2210
  7664. 1900 IF F=0 THEN 1890
  7665. 1910 C2$=I$
  7666. 1920 LINPUT "Third band color? ";I$:GOSUB 2210
  7667. 1930 IF F=0 THEN 1920
  7668. 1940 C3$=I$:C3=VAL(C3$)
  7669. 1950 LINPUT "Fourth band color? ";I$:GOSUB 2360
  7670. 1960 IF F=0 THEN 1950
  7671. 1970 C4$=I$
  7672. 1980 REM
  7673. 1990 REM PRINT C1$;C2$;C3$;C4$:PAUSE
  7674. 2000 IF C3=0 THEN C3$=""
  7675. 2010 IF C3=1 THEN C3$="0"
  7676. 2020 IF C3=2 THEN C3$="00"
  7677. 2030 IF C3=3 THEN C3=98:C3$=" K"
  7678. 2040 IF C3=4 THEN C3=98:C3$="0 K"
  7679. 2050 IF C3=5 THEN C3=98:C3$="00 K"
  7680. 2060 IF C3=6 THEN C3=99:C3$=" M"
  7681. 2070 IF C3=7 THEN C3=99:C3$="0 M"
  7682. 2080 IF C3=8 THEN C3=99:C3$="00 M"
  7683. 2090 IF C3=9 THEN C3=99:C3$="000 M"
  7684. 2100 IF C4$="GOLD" OR C4$="gold" THEN C4$=" 5% Tolerance"
  7685. 2110 IF C4$="SILVER" OR C4$="silver" THEN C4$=" 10% Tolerance"
  7686. 2120 IF C4$="" OR C4$="NONE" OR C4$="none" THEN C4$=" 20% Tolerance"
  7687. 2130 OHM$=" ohms"
  7688. 2140 IF C3=99 THEN 2170
  7689. 2150 DISPLAY AT(4)BEEP,C1$;C2$;C3$;OHM$;C4$:PAUSE 8
  7690. 2160 GOTO 2180
  7691. 2170 DISPLAY AT(4)BEEP,C1$;C2$;C3$;OHM$;C4$:PAUSE 8
  7692. 2180 LINPUT "ANOTHER RESISTOR? (Y/N): ";ANS$
  7693. 2190 IF ANS$="Y" OR ANS$="y" THEN 1840
  7694. 2200 PRINT "Thank you":PAUSE 2:RETURN
  7695. 2210 REM CHECK IF VALID COLOR
  7696. 2220 F=0
  7697. 2230 IF I$="BLACK" OR I$="black" THEN F=1:I$="0"
  7698. 2240 IF I$="BROWN" OR I$="brown" THEN F=1:I$="1"
  7699. 2250 IF I$="RED" OR I$="red" THEN F=1:I$="2"
  7700. 2260 IF I$="ORANGE" OR I$="orange" THEN F=1:I$="3"
  7701. 2270 IF I$="YELLOW" OR I$="yellow" THEN F=1:I$="4"
  7702. 2280 IF I$="GREEN" OR I$="green" THEN F=1:I$="5"
  7703. 2290 IF I$="BLUE" OR I$="blue" THEN F=1:I$="6"
  7704. 2300 IF I$="VIOLET" OR I$="violet" THEN F=1:I$="7"
  7705. 2310 IF I$="GREY" OR I$="grey" THEN F=1:I$="8"
  7706. 2320 IF I$="WHITE" OR I$="white" THEN F=1:I$="9"
  7707. 2330 IF F THEN RETURN
  7708. 2340 DISPLAY BEEP BEEP BEEP:PRINT "INVALID COLOR":PAUSE 1
  7709. 2350 RETURN :REM GOTO 11010
  7710. 2360 REM CHECK IF VALID COLOR
  7711. 2370 F=0
  7712. 2380 IF I$="GOLD" OR I$="gold" THEN F=1
  7713. 2390 IF I$="SILVER" OR I$="silver" THEN F=1
  7714. 2400 IF I$="NONE" OR I$="none" THEN F=1
  7715. 2410 IF I$="" THEN F=1
  7716. 2420 IF F THEN RETURN
  7717. 2430 DISPLAY BEEP BEEP BEEP:PRINT "INVALID COLOR":PAUSE 1
  7718. 2440 GOTO 1950
  7719. 2450 CALL CHAR(1,"040404041F1F0E04")
  7720. 2460 CALL CHAR(2,"040E1F1F04040404")
  7721. 2470 DISPLAY BEEP,"GUESS A NUMBER BETWEEN 1 AND 25":PAUSE 1.5
  7722. 2480 DISPLAY BEEP,"YOU HAVE 6 CHANCES":PAUSE 1
  7723. 2490 DISPLAY BEEP,"INDICATORS RECORD YOUR GUESSES":PAUSE 1
  7724. 2500 COUNT=1
  7725. 2510 RANDOMIZE
  7726. 2520 SNUM=INTRND(25)
  7727. 2530 PRINT "ENTER YOUR GUESS";
  7728. 2540 ACCEPT AT(28)VALIDATE(DIGIT),GUESS
  7729. 2550 IF GUESS=SNUM THEN 2630
  7730. 2560 CALL INDIC(COUNT)
  7731. 2570 IF COUNT=6 THEN 2710
  7732. 2580 IF GUESS<SNUM THEN 2610
  7733. 2590 PRINT CHR$(1);GUESS;"Try a smaller number";
  7734. 2600 COUNT=COUNT+1:GOTO 2540
  7735. 2610 PRINT CHR$(2);GUESS;"Try a larger number";
  7736. 2620 COUNT=COUNT+1:GOTO 2540
  7737. 2630 PRINT "WOW!!***";GUESS;"***is correct":PAUSE 2
  7738. 2640 FOR A=1 TO 0 STEP -1:X=1
  7739. 2650 FOR B=1 TO 6
  7740. 2660 CALL INDIC(B,A):PAUSE .1
  7741. 2670 DISPLAY AT(X)BEEP,"YEA!":X=X+5
  7742. 2680 NEXT B
  7743. 2690 NEXT A
  7744. 2700 GOTO 2770
  7745. 2710 PRINT "6 Chances!";SNUM;"was the number":PAUSE 4
  7746. 2720 FOR A=1 TO 30 STEP 10
  7747. 2730 DISPLAY AT(A)BEEP,"BOO!":PAUSE .2:NEXT A
  7748. 2740 FOR J=1 TO COUNT
  7749. 2750 CALL INDIC(J,0)
  7750. 2760 NEXT J
  7751. 2770 LINPUT "Play again (Y/N): ";A$
  7752. 2780 IF A$="Y" OR A$="y" THEN 2500
  7753. 2790 RETURN
  7754.  
  7755.  
  7756. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7757. Content-type: TEXT/plain; CHARSET=US-ASCII; name=PHONTRAN.TXT; SizeOnDisk=1655
  7758. Content-description: PHONTRAN.TXT
  7759.  
  7760. 20 REM PHONE TRANSLATOR - This version for CC40 and TI-74.
  7761. 30 REM To modify for TI BASIC on a 99/4, remove all ":PAUSE X" statements at the
  7762.  
  7763. 40 REM end of PRINT lines and change lines 150 and 430 to read CALL KEY(0,L,S)
  7764. 50 REM Converts a 7 digit phone number into all possible letter equivalents
  7765. 60 REM such as 842-2737 into TI-CARES.
  7766. 70 REM Modified in August 1992 by Charles Good for CC40 and TI74.
  7767. 80 REM Orifginal 99/4A program from "Zappers, having fun programming 23 games
  7768. 90 REM for TI99/4A" by Henry Mullish & Don Kruger, 1984, Simon & Schuster
  7769. 100 PRINT "      Ring -- Ring -- Ring":PAUSE 2
  7770. 110 PRINT "Using no dashes, type the seven":PAUSE 1
  7771. 120 PRINT "digits or letters of a phone #"
  7772. 130 CHAR$="000111ABCDEFGHIJKLMNOPRSTUVWXY"
  7773. 140 FOR I=1 TO 7
  7774. 150 CALL KEY(K,S)
  7775. 160 IF S<1 THEN 150
  7776. 170 IF (K<48)+(K>57)*(K<65)+(K>89)THEN 150
  7777. 180 IF K=ASC("Q")THEN 150
  7778. 190 PRINT CHR$(K);
  7779. 200 IF K<58 THEN 220
  7780. 210 K=INT((POS(CHAR$,CHR$(K),1)-1)/3)+49
  7781. 220 NUMB(I)=(K-48)*3
  7782. 230 NEXT I
  7783. 240 PRINT
  7784. 250 PRINT "Press and hold any key to":PAUSE .5
  7785. 260 PRINT "temporarily STOP the display.":PAUSE .5
  7786. 270 FOR A=1 TO 3
  7787. 280 FOR B=1 TO 3
  7788. 290 FOR C=1 TO 3
  7789. 300 FOR D=1 TO 3
  7790. 310 FOR E=1 TO 3
  7791. 320 FOR F=1 TO 3
  7792. 330 FOR G=1 TO 3
  7793. 340 PRINT SEG$(CHAR$,NUMB(1)+A,1);
  7794. 350 PRINT SEG$(CHAR$,NUMB(2)+B,1);
  7795. 360 PRINT SEG$(CHAR$,NUMB(3)+C,1);
  7796. 370 PRINT SEG$(CHAR$,NUMB(4)+D,1);
  7797. 380 PRINT SEG$(CHAR$,NUMB(5)+E,1);
  7798. 390 PRINT SEG$(CHAR$,NUMB(6)+F,1);
  7799. 400 PRINT SEG$(CHAR$,NUMB(7)+G,1),
  7800. 410 N=N+1
  7801. 420 PRINT N;"of 2187":PAUSE 1
  7802. 430 CALL KEY(L,S)
  7803. 440 IF S=-1 THEN 430
  7804. 450 NEXT G
  7805. 460 NEXT F
  7806. 470 NEXT E
  7807. 480 NEXT D
  7808. 490 NEXT C
  7809. 500 NEXT B
  7810. 510 NEXT A
  7811.  
  7812. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7813. Content-type: TEXT/plain; CHARSET=US-ASCII; name=PLSMAX.TXT; SizeOnDisk=475
  7814. Content-description: PLSMAX.TXT
  7815.  
  7816. 100 !V0=5:E0=2.1:T0=24
  7817. 110 DISPLAY AT(1),"Pulse Width Absolute Maximum":PAUSE 1
  7818. 120 DISPLAY AT(1)SIZE(13),"HEAD VOLTAGE:"
  7819. 130 ACCEPT AT(15)VALIDATE(NUMERIC)REC,V
  7820. 140 DISPLAY AT(1)SIZE(16),"HEAD RESISTANCE:"
  7821. 150 ACCEPT AT(18)VALIDATE(NUMERIC)REC,R
  7822. 160 DISPLAY AT(1)SIZE(17),"TEMPERATURE: 24 C"
  7823. 170 ACCEPT AT(14)SIZE(-2)VALIDATE(DIGIT)REC,T
  7824. 180 E=((5+V)/(2*V))*2.1*(1+((24-T)/100))
  7825. 190 TW=(R*E)/(V^2)
  7826. 199 IMAGE MAX PULSE WIDTH = #.###mS
  7827. 200 DISPLAY AT(1),TW:PAUSE
  7828.  
  7829. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7830. Content-type: TEXT/plain; CHARSET=US-ASCII; name=POLARCOR.TXT; SizeOnDisk=523
  7831. Content-description: POLARCOR.TXT
  7832.  
  7833. 80 REM POLAR COORDINATE PLOT
  7834. 90 REM TIPCC NOTES V10N2P14 (1985)
  7835. 100 OPEN #1,"10",OUTPUT
  7836. 110 PRINT #1,CHR$(19)
  7837. 120 PRINT #1,"L(0,-107):1,(215,-107)"
  7838. 130 PRINT #1,"L(107,0),(107,-215)"
  7839. 140 PRINT #1,"M(107,-107)"
  7840. 150 PRINT #1,"O"
  7841. 160 PRINT #1,"C4"
  7842. 190 X1=0:Y1=0
  7843. 200 FOR THETA=0 TO 360 STEP 2
  7844. 210 RHO=100*SIN(4*THETA)
  7845. 220 X2=INT(RHO*COS(THETA))
  7846. 230 Y2=INT(RHO*SIN(THETA))
  7847. 240 P$="L("&STR$(X1)&","&STR$(Y1)&"),("&STR$(X2)&","&STR$(Y2)&")"
  7848. 250 PRINT #1,P$
  7849. 260 X1=X2:Y1=Y2
  7850. 270 NEXT THETA
  7851. 280 CLOSE #1
  7852. 290 END
  7853.  
  7854. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7855. Content-type: TEXT/plain; CHARSET=US-ASCII; name=ROMANNUM.TXT; SizeOnDisk=788
  7856. Content-description: ROMANNUM.TXT
  7857.  
  7858. 90 !adapted by Charles Good, Lima Ohio User Group, July 1992
  7859. 100 !from BASIC PROGRAMS FOR SMALL COMPUTERS by C. Regina Compute Books 1984
  7860. 110 FOR I=1 TO 9
  7861. 120 READ H$(I),T$(I),S$(I)
  7862. 130 NEXT I
  7863. 140 DATA C,X,I,CC,XX,II,CCC,XXX,III,CD,XL,IV,D,L,V
  7864. 150 DATA DC,LX,VI,DCC,LXX,VII,DCCC,LXXX,VIII,CM,XC,IX
  7865. 160 !
  7866. 170 R$="":RANDOMIZE
  7867. 180 N=INT(1999*RND)+1
  7868. 190 NN=N
  7869. 200 IF N<1000 THEN 230
  7870. 210 R$="M"
  7871. 220 N=N-1000
  7872. 230 IF N<100 THEN 270
  7873. 240 NR=INT(N/100)
  7874. 250 R$=R$&H$(NR)
  7875. 260 N=N-NR*100
  7876. 270 IF N<10 THEN 310
  7877. 280 NR=INT(N/10)
  7878. 290 R$=R$&T$(NR)
  7879. 300 N=N-NR*10
  7880. 310 IF N=0 THEN 330
  7881. 320 R$=R$&S$(N)
  7882. 330 DISPLAY "Roman= ";R$;:DISPLAY AT(19),"Number=";:ACCEPT AT(27),ANS
  7883. 340 IF ANS=NN THEN 370
  7884. 350 PRINT "The number is";NN:PAUSE
  7885. 360 GOTO 160
  7886. 370 PRINT "CORRECT!!!":PAUSE:GOTO 160
  7887.  
  7888. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7889. Content-type: TEXT/plain; CHARSET=US-ASCII; name=SETRAM40.TXT; SizeOnDisk=346
  7890. Content-description: SETRAM40.TXT
  7891.  
  7892. 90 REM Sets up 8K RAM cartridge as a mass storage cartridge for 6K CC40
  7893. 100 CALL POKE(36910,142,144,77,136,175,255,102,136,31,255,104,224,11)
  7894. 110 CALL POKE(36923,142,144,77,136,31,255,102,136,175,255,104)
  7895. 120 CALL POKE(36934,136,24,0,106,142,248,12,136,0,102,1,140,248,54)
  7896.  
  7897.  
  7898. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7899. Content-type: TEXT/plain; CHARSET=US-ASCII; name=SOCCER.TXT; SizeOnDisk=459
  7900. Content-description: SOCCER.TXT
  7901.  
  7902. 100 CALL CHAR(0,"0E0E150E04040A11"):CALL CHAR(1,"001A1A1B06020509")
  7903. 110 CALL CHAR(2,"0001050305191919"):CALL CHAR(3,"000105031D191901")
  7904. 120 CALL CHAR(4,"150E04040A110E0E"):CALL CHAR(5,"0010141814131313")
  7905. 130 CALL CHAR(6,"000B0B1B0C081412")
  7906. 140 FOR A=10 TO 21:FOR B=0 TO 6:DISPLAY AT(A),CHR$(B):PAUSE .1
  7907. 150 NEXT B:NEXT A:PAUSE .5
  7908. 160 FOR A=21 TO 10 STEP -1:FOR B=6 TO 0 STEP -1
  7909. 170 DISPLAY AT(A),CHR$(B):PAUSE .1
  7910. 180 NEXT B:NEXT A:PAUSE .5:GOTO 140
  7911.  
  7912. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  7913. Content-type: TEXT/plain; CHARSET=US-ASCII; name=WORDPROC.TXT; SizeOnDisk=5121
  7914. Content-description: WORDPROC.TXT
  7915.  
  7916. 5 DATA "   TI-74/CC40 Word Processor by Charles Good & Palmer Hanson"
  7917. 10 DATA "Jr., June 1992.  Lines 5-75 are a sample document.  With HexBUS RS232"
  7918. 15 DATA "dumps ASCII text to any printer or to TI WRITER on a 99/4A.  Dumps"
  7919. 20 DATA "to MS-DOS with TI's TI-74 PC Interface Cable. CR"
  7920. 22 DATA "CR"
  7921. 25 DATA "   To enter text type 100 and down arrow, position cursor over 2nd"
  7922. 30 DATA "quotation mark in blank DATA line and type text.  When text fills a"
  7923. 35 DATA "line, end the line with a closing quote, press down arrow, and"
  7924. 37 DATA "continue entering text on"
  7925. 40 DATA "the next blank DATA line.  Text in each DATA line should be enclosed"
  7926. 43 DATA "in a set of quotes."
  7927. 45 DATA "Quotation marks ""WITHIN THE TEXT"" require special treatment, as in"
  7928. 50 DATA "line 45.  For carriage returns"
  7929. 55 DATA "type ""CR"" preceeded by a space at the end of each paragraph, as in"
  7930. 57 DATA "lines 20 and 65.  To leave a blank line between"
  7931. 60 DATA "paragraphs type ""CR"" alone on a DATA line as in line 65. CR"
  7932. 65 DATA "CR"
  7933. 70 DATA "   If you get a MEMORY FULL error enter ""DEL 5-75"" to free up enough"
  7934.  
  7935. 75 DATA "memory to VIEW, PRINT, or SEND the document. CR"
  7936. 100 DATA "Start of document"
  7937. 105 DATA ""
  7938. 110 DATA ""
  7939. 115 DATA ""
  7940. 120 DATA ""
  7941. 125 DATA ""
  7942. 130 DATA ""
  7943. 135 DATA ""
  7944. 140 DATA ""
  7945. 145 DATA ""
  7946. 150 DATA ""
  7947. 155 DATA ""
  7948. 160 DATA ""
  7949. 165 DATA ""
  7950. 170 DATA ""
  7951. 175 DATA ""
  7952. 180 DATA ""
  7953. 185 DATA ""
  7954. 190 DATA ""
  7955. 195 DATA ""
  7956. 200 DATA ""
  7957. 205 DATA ""
  7958. 210 DATA ""
  7959. 215 DATA ""
  7960. 220 DATA ""
  7961. 225 DATA ""
  7962. 230 DATA ""
  7963. 235 DATA ""
  7964. 240 DATA ""
  7965. 245 DATA ""
  7966. 250 DATA ""
  7967. 255 DATA ""
  7968. 260 DATA ""
  7969. 265 DATA ""
  7970. 270 DATA ""
  7971. 275 DATA ""
  7972. 280 DATA ""
  7973. 285 DATA ""
  7974. 290 DATA ""
  7975. 295 DATA ""
  7976. 300 DATA ""
  7977. 305 DATA ""
  7978. 310 DATA ""
  7979. 315 DATA ""
  7980. 320 DATA ""
  7981. 325 DATA ""
  7982. 330 DATA ""
  7983. 335 DATA ""
  7984. 340 DATA ""
  7985. 345 DATA ""
  7986. 350 DATA ""
  7987. 355 DATA ""
  7988. 360 DATA ""
  7989. 365 DATA ""
  7990. 370 DATA ""
  7991. 375 DATA ""
  7992. 380 DATA ""
  7993. 385 DATA ""
  7994. 390 DATA ""
  7995. 395 DATA ""
  7996. 400 DATA ""
  7997. 405 DATA ""
  7998. 410 DATA ""
  7999. 415 DATA ""
  8000. 420 DATA ""
  8001. 425 DATA ""
  8002. 430 DATA ""
  8003. 435 DATA ""
  8004. 440 DATA ""
  8005. 445 DATA ""
  8006. 450 DATA ""
  8007. 455 DATA ""
  8008. 460 DATA ""
  8009. 465 DATA ""
  8010. 470 DATA ""
  8011. 475 DATA ""
  8012. 480 DATA ""
  8013. 485 DATA ""
  8014. 490 DATA ""
  8015. 495 DATA ""
  8016. 500 DATA ""
  8017. 505 DATA ""
  8018. 510 DATA ""
  8019. 515 DATA ""
  8020. 520 DATA ""
  8021. 525 DATA ""
  8022. 530 DATA ""
  8023. 535 DATA ""
  8024. 540 DATA ""
  8025. 545 DATA ""
  8026. 550 DATA ""
  8027. 555 DATA ""
  8028. 560 DATA ""
  8029. 565 DATA ""
  8030. 570 DATA ""
  8031. 575 DATA ""
  8032. 580 DATA ""
  8033. 585 DATA ""
  8034. 590 DATA ""
  8035. 595 DATA ""
  8036. 600 DATA ""
  8037. 605 DATA ""
  8038. 610 DATA ""
  8039. 615 DATA ""
  8040. 620 DATA ""
  8041. 625 DATA ""
  8042. 630 DATA ""
  8043. 635 DATA ""
  8044. 640 DATA ""
  8045. 645 DATA ""
  8046. 650 DATA ""
  8047. 655 DATA ""
  8048. 660 DATA ""
  8049. 665 DATA ""
  8050. 670 DATA ""
  8051. 675 DATA ""
  8052. 680 DATA ""
  8053. 685 DATA ""
  8054. 690 DATA ""
  8055. 695 DATA ""
  8056. 700 DATA ""
  8057. 705 DATA ""
  8058. 710 DATA ""
  8059. 715 DATA ""
  8060. 720 DATA ""
  8061. 725 DATA ""
  8062. 730 DATA ""
  8063. 735 DATA ""
  8064. 740 DATA ""
  8065. 745 DATA ""
  8066. 750 DATA ""
  8067. 755 DATA ""
  8068. 760 DATA ""
  8069. 765 DATA ""
  8070. 770 DATA ""
  8071. 775 DATA ""
  8072. 780 DATA ""
  8073. 785 DATA ""
  8074. 790 DATA ""
  8075. 795 DATA ""
  8076. 800 DATA ""
  8077. 805 DATA ""
  8078. 810 DATA ""
  8079. 815 DATA ""
  8080. 820 DATA ""
  8081. 825 DATA ""
  8082. 830 DATA ""
  8083. 835 DATA ""
  8084. 840 DATA ""
  8085. 845 DATA ""
  8086. 850 DATA ""
  8087. 855 DATA ""
  8088. 860 DATA ""
  8089. 865 DATA ""
  8090. 870 DATA ""
  8091. 875 DATA ""
  8092. 880 DATA ""
  8093. 885 DATA ""
  8094. 890 DATA ""
  8095. 895 DATA ""
  8096. 900 DATA ""
  8097. 905 DATA ""
  8098. 910 DATA ""
  8099. 915 DATA ""
  8100. 920 DATA ""
  8101. 925 DATA ""
  8102. 930 DATA ""
  8103. 935 DATA ""
  8104. 940 DATA ""
  8105. 945 DATA ""
  8106. 950 DATA ""
  8107. 955 DATA ""
  8108. 960 DATA ""
  8109. 965 DATA ""
  8110. 970 DATA ""
  8111. 975 DATA ""
  8112. 980 DATA ""
  8113. 985 DATA ""
  8114. 990 DATA ""
  8115. 995 DATA ""
  8116. 1000 PRINT " DATA STATEMENT WORD PROCESSOR":PAUSE 2
  8117. 1010 RESTORE 100:CODE=0
  8118. 1020 INPUT "1=View 2=Print 3=Send 4=Inst. ";M$
  8119. 1025 IF M$="4"THEN RESTORE
  8120. 1030 IF M$="1"OR M$="4"THEN LW=31:GOTO 3030
  8121. 1040 IF M$="2"THEN 3000
  8122. 1050 IF M$="3"THEN 4000 ELSE 1020
  8123. 3000 INPUT "Printer device number?";P$
  8124. 3010 OPEN #1,P$,OUTPUT
  8125. 3020 INPUT "Line Width?";LW:IF LW>80 THEN 3020
  8126. 3025 INPUT "Left margin column? 0-79 ";LM
  8127. 3030 PRINT$="":PW=0
  8128. 3040 ON ERROR 5000
  8129. 3050 READ TEXT$
  8130. 3060 IF TEXT$=""THEN 3050
  8131. 3070 TEXT$=TEXT$&" "
  8132. 3080 X=LEN(TEXT$):Y=POS(TEXT$," ",1)
  8133. 3090 IF X=0 THEN 3050
  8134. 3100 ADD$=SEG$(TEXT$,1,Y)
  8135. 3110 IF ADD$="CR "AND PW>0 THEN 3170
  8136. 3120 IF ADD$="CR "THEN 3185
  8137. 3130 IF (PW+Y)>LW THEN 3170
  8138. 3140 PRINT$=PRINT$&ADD$
  8139. 3150 TEXT$=SEG$(TEXT$,Y+1,X-Y)
  8140. 3160 PW=PW+Y:GOTO 3080
  8141. 3170 PRINT$=SEG$(PRINT$,1,PW-1)
  8142. 3175 IF SEG$(PRINT$,1,1)=" "THEN PRINT$=SEG$(PRINT$,2,PW-2)
  8143. 3180 IF M$="2"OR M$="3"THEN N=N+1:PRINT TAB(5);"Sending Line";N;"of text"
  8144. 3185 IF M$="1"OR M$="4"THEN PRINT PRINT$:PAUSE:GOTO 3205
  8145. 3190 PRINT #1,TAB(LM);PRINT$
  8146. 3200 IF CODE=32 THEN PRINT #1:CLOSE #1:N=0:LM=0
  8147. 3205 IF CODE=32 THEN PRINT TAB(9);"End of document":PAUSE:RETURN 1000
  8148. 3210 IF ADD$="CR "THEN TEXT$=SEG$(TEXT$,4,X)
  8149. 3220 PW=0:PRINT$="":GOTO 3080
  8150. 4000 OPEN #1,"20.D=8,P=N,R=C",OUTPUT,VARIABLE 80!HexBus RS232 toTIWriter on99/4A
  8151.  
  8152. 4005 !OPEN #1,"101.FILENAME.DOC",VARIABLE 80,OUTPUT!PC interface cable to MS-DOS
  8153.  
  8154. 4010 GOTO 3020
  8155. 5000 !End of DATA routine
  8156. 5010 CALL ERR(CODE,A)
  8157. 5020 IF CODE=43 THEN CODE=32!Interpret CC40 error code as TI74 error code
  8158. 5030 IF CODE<>32 THEN RETURN ELSE 3180
  8159.  
  8160. --Boundary (ID PEar9C1M4y//oQ7m2f0uXw)
  8161. Content-type: TEXT/plain; CHARSET=US-ASCII; name=SORT10.TXT; SizeOnDisk=2717
  8162. Content-description: SORT10.TXT
  8163.  
  8164. 80 REM Sorts numbers or words.  Use of printer/plotter is optional
  8165. 90 REM CC40 BASIC, rewritten by Charles Good from a PD 99/4A program
  8166. 100 DIM G(150),C$(150)
  8167. 110 Z=1
  8168. 120 PRINT "        ALPHA NUMERIC SORT":PAUSE 2
  8169. 130 INPUT "Type C for char, N for number";W$
  8170. 140 IF W$="N"THEN 660
  8171. 150 IF W$="n"THEN 660
  8172. 160 IF W$="c"THEN 180
  8173. 170 IF W$<>"C"THEN 130
  8174. 180 INPUT "Enter an END OF LIST code";S$
  8175. 190 PRINT "Now begin entering data.":PAUSE 1
  8176. 200 PRINT "Press <ENTER> after each entry,":PAUSE 1
  8177. 210 PRINT "When finished enter stopcode.":PAUSE 1
  8178. 220 N=N+1
  8179. 230 INPUT C$(N)
  8180. 240 IF C$(N)<>S$THEN 220
  8181. 250 N=N-1
  8182. 260 L=INT(N/2)+1
  8183. 270 N1=N
  8184. 280 IF L=1 THEN 320
  8185. 290 L=L-1
  8186. 300 A$=C$(L)
  8187. 310 GOTO 360
  8188. 320 A$=C$(N1)
  8189. 330 C$(N1)=C$(1)
  8190. 340 N1=N1-1
  8191. 350 IF N1=1 THEN 490
  8192. 360 J=L
  8193. 370 I=J
  8194. 380 J=2*J
  8195. 390 IF J=N1 THEN 430
  8196. 400 IF J>N1 THEN 460
  8197. 410 IF C$(J)>=C$(J+1)THEN 430
  8198. 420 J=J+1
  8199. 430 IF A$>C$(J)THEN 460
  8200. 440 C$(I)=C$(J)
  8201. 450 GOTO 370
  8202. 460 C$(I)=A$
  8203. 470 GOTO 280
  8204. 480 C$(1)=A$
  8205. 490 C$(1)=A$
  8206. 500 PRINT "Here is the sorted list.":PAUSE 1
  8207. 510 INPUT "P = printer, S = screen";Y$
  8208. 520 IF Y$="S"THEN 610
  8209. 530 IF Y$="s"THEN 610
  8210. 540 IF Y$="p"THEN 560
  8211. 550 IF Y$<>"P"THEN 510
  8212. 560 OPEN #1,"10",OUTPUT
  8213. 570 FOR I=1 TO N
  8214. 580 PRINT #1,C$(I)
  8215. 590 NEXT I
  8216. 600 CLOSE #1:GOTO 640
  8217. 610 FOR I=1 TO N
  8218. 620 PRINT C$(I),"Press ENTER":PAUSE
  8219. 630 NEXT I
  8220. 640 INPUT "End of list. Press ENTER.";Y$
  8221. 650 RUN
  8222. 660 INPUT "Enter an END OF LIST number.";S$
  8223. 670 IF SEG$(S$,1,1)<"0"THEN 690
  8224. 680 IF SEG$(S$,1,1)<="9"THEN 700
  8225. 690 PRINT "Please type a POSITIVE NUMBER":PAUSE 1:GOTO 660
  8226. 700 S=VAL(S$)
  8227. 710 PRINT "Now begin entering data":PAUSE 1
  8228. 720 N=N+1
  8229. 730 INPUT G(N)
  8230. 740 IF G(N)<>S THEN 720
  8231. 750 N=N-1
  8232. 760 L=INT(N/2)+1
  8233. 770 N1=N
  8234. 780 IF L=1 THEN 820
  8235. 790 L=L-1
  8236. 800 A=G(L)
  8237. 810 GOTO 860
  8238. 820 A=G(N1)
  8239. 830 G(N1)=G(1)
  8240. 840 N1=N1-1
  8241. 850 IF N1=1 THEN 980
  8242. 860 J=L
  8243. 870 I=J
  8244. 880 J=2*J
  8245. 890 IF J=N1 THEN 930
  8246. 900 IF J>N1 THEN 960
  8247. 910 IF G(J)>=G(J+1)THEN 930
  8248. 920 J=J+1
  8249. 930 IF A>G(J)THEN 960
  8250. 940 G(I)=G(J)
  8251. 950 GOTO 870
  8252. 960 G(I)=A
  8253. 970 GOTO 780
  8254. 980 G(1)=A
  8255. 990 M=INT((N+1)/2)
  8256. 1000 FOR I=1 TO N
  8257. 1010 AV=AV+G(I)
  8258. 1020 NEXT I
  8259. 1030 AVERAGE=AV/N
  8260. 1040 PRINT "Here is the sorted list.":PAUSE 1:INPUT "P = printer, S = screen";Y$
  8261.  
  8262. 1050 IF Y$="s"THEN 1140
  8263. 1060 IF Y$="S"THEN 1140
  8264. 1070 IF Y$="p"THEN 1080:IF Y$<>"P"THEN 1040
  8265. 1080 OPEN #1,"10",OUTPUT
  8266. 1090 FOR I=1 TO N
  8267. 1100 PRINT #1,G(I)
  8268. 1110 NEXT I
  8269. 1120 PRINT #1,"Median =";G(M):PRINT #1,"Average =";AVERAGE
  8270. 1130 CLOSE #1:RUN
  8271. 1140 FOR I=1 TO N
  8272. 1150 PRINT G(I),"Press ENTER":PAUSE
  8273. 1160 NEXT I
  8274. 1170 PRINT "End of list. Press ENTER.":PAUSE
  8275. 1180 PRINT "Median =";G(M);"   Average =";AVERAGE:PAUSE
  8276. 1190 RUN
  8277.  
  8278. <EOF>
  8279.